Skip to content

Commit 9c40e67

Browse files
committed
multithreading support, new default pagesize of 500, fixed getAllUsers
1 parent bf33277 commit 9c40e67

18 files changed

Lines changed: 242 additions & 59 deletions

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ rallyfire.py
77
pyral/__init__.py
88
pyral/config.py
99
pyral/context.py
10+
pyral/cargotruck.py
1011
pyral/entity.py
1112
pyral/hydrate.py
1213
pyral/rallyresp.py

README.rst

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Obtain the requests_ package and install it according to that package's directio
3939
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
4040
Use of requests-2.x or better is recommended for use with pyral.
4141
The requests_ package can be found via the Python Package Index site (http://pypi/python.org/index).
42-
The most recent release of pyral (1.2.4) has been tested using requests 2.8.1.
42+
The most recent release of pyral (1.3.0) has been tested using requests 2.8.1.
4343

4444
Obtain and install the six_ module (available from PyPI at https://pypi.python.org/pypi/six)
4545

@@ -67,7 +67,7 @@ relevant packages.
6767
>> import requests
6868
>> import pyral
6969
>> pyral.__version__
70-
(1, 2, 4)
70+
(1, 3, 0)
7171

7272

7373

@@ -265,14 +265,21 @@ Prerequisites
265265
* Python 3.5 (this package not tested with earlier versions of Python 3.x) OR
266266
* Python 2.6 or 2.7 (2.7 is preferred)
267267
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
268-
requests 2.8.1 is recommended.
268+
requests 2.12.5 is recommended.
269269
* The six_ package.
270270

271271
.. _requests: http://github.com/kennethreitz/requests
272272
.. _six: https://bitbucket.org/gutworth/six
273273

274274
Versions
275275
--------
276+
**1.3.0**
277+
Introduced automatic multi-threading for Rally.get operation to speed up retrieval of large
278+
result sets. Implemented step two of the Pinger deprecation plan, ping=False is the new default.
279+
Increased default page size to 500. Maximum useful page size limit is 2000 but 1000 seems
280+
to be the sweet spot for multithreading requests.
281+
Fixed Rally.getAllUsers so that non subscription admin accounts can see the user list.
282+
Updated recommendation for version of requests package.
276283

277284
**1.2.4**
278285
Fixed handling of projectScopeUp and projectScopeDown keyword arguments for get operation.

README.short

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Requirements
2020
The pyral package requires the use of Kenneth Reitz's requests package using version 2.8.0 or better.
2121
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
2222
The requests package can be found via the Python Package Index site (http://pypi/python.org/index).
23-
The most recent release of pyral (1.2.4) has been tested with requests 2.8.1.
23+
The most recent release of pyral (1.3.0) has been tested with requests 2.12.5.
2424
The six module is also required.
2525

2626

build_dist.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import re
1414

1515
PACKAGE_NAME = "pyral"
16-
VERSION = "1.2.4"
16+
VERSION = "1.3.0"
1717

1818
AUX_FILES = ['MANIFEST.in',
1919
'PKG-INFO',
@@ -104,7 +104,7 @@ def main(args):
104104

105105
# got to use Python 2.7 to be able to run python setup.py bdist_wheel
106106
os.system('/usr/local/bin/python setup.py bdist_wheel')
107-
wheel_file = "pyral-%s-py2.py3-none-any.whl" % VERSION
107+
wheel_file = "%s-%s-py2.py3-none-any.whl" % (PACKAGE_NAME, VERSION)
108108
# the wheel_file gets written into the dist subdir by default, no need for a copy...
109109

110110
store_packages('dist', [tarball])

doc/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@
4848
# built documents.
4949
#
5050
# The short X.Y version.
51-
version = '1.2.4'
51+
version = '1.3.0'
5252
# The full version, including alpha/beta/rc tags.
53-
release = '1.2.4'
53+
release = '1.3.0'
5454

5555
# The language for content autogenerated by Sphinx. Refer to documentation
5656
# for a list of supported languages.

doc/source/interface.rst

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ Example use::
131131
print " ".join(['|%|' % opt for opt in [server, user, password, apikey, workspace, project]]
132132

133133

134-
% python basic.py --config=current --rallyProject="Livestock Mgmt" --ping=no
134+
% python basic.py --config=current --rallyProject="Livestock Mgmt" --ping=yes
135135

136136
|rally1.rallydev.com| |wiley@acme.com| |*****| |*****| |General Products Umbrella| |Livestock Mgmt|
137137

@@ -289,16 +289,14 @@ To instantiate a Rally object, you'll need to provide these arguments:
289289
and the default project for the user is not in the workspace specified.
290290
Under those conditions, the project is changed to the first project
291291
(alphabetic ordering) in the list of projects for the specified workspace.
292-
* server_ping (True or False, default in v1.2.0 is True)
292+
* server_ping (True or False, default in v1.3.0 is False)
293293
Specifies whether a ping attempt will be made to confirm network connectivity
294294
to the Rally server prior to making a Rally WSAPI REST request.
295295
Organizations may have disabled the ability to make ICMP requests so the ping
296296
attempt may fail even though there is network connectivity to the Rally server.
297297
For this reason, the use of the ping=True option is discouraged going forward.
298-
The next minor point release of pyral (v1.3.0) will have the default value
299-
for this option inverted to be False.
300298
The the ping operation itself will be dropped in the next major release (2.0.0).
301-
* isolated_workspace (True or False, default in v1.2.0 is False)
299+
* isolated_workspace (True or False, default in v1.2.0 + is False)
302300
Specifies that the Rally instance will only be used for interacting with
303301
a single workspace (either the user's default workspace or the named workspace).
304302
Using isolated_workspace=True provides performance benefits for a subscription
@@ -330,7 +328,7 @@ To instantiate a Rally object, you'll need to provide these arguments:
330328
You only have to use this syntax to specify a particular Project if you have multiple instances of that Project that have the same name. There is no provision for supporting the scenario where a Project of the same name exists in the same structural location.
331329

332330

333-
.. py:class:: Rally (server, user=None, password=None, apikey=None, workspace=None, project=None, warn=True, server_ping=True)
331+
.. py:class:: Rally (server, user=None, password=None, apikey=None, workspace=None, project=None, warn=True, server_ping=False)
334332
335333
Examples::
336334

pyral/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = (1, 2, 4)
1+
__version__ = (1, 3, 0)
22
from .config import rallySettings, rallyWorkset
33
from .restapi import Rally, RallyRESTAPIError, RallyUrlBuilder
44
from .rallyresp import RallyRESTResponse

pyral/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#
77
###################################################################################################
88

9-
__version__ = (1, 2, 4)
9+
__version__ = (1, 3, 0)
1010

1111
import datetime
1212
import os
@@ -27,7 +27,7 @@
2727
PASSWORD = "G3ronim0!"
2828

2929
START_INDEX = 1
30-
MAX_PAGESIZE = 200
30+
MAX_PAGESIZE = 500
3131
MAX_ITEMS = 1000000 # a million seems an eminently reasonable limit ...
3232

3333
RALLY_REST_HEADERS = \

pyral/context.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
###################################################################################################
1010

11-
__version__ = (1, 2, 4)
11+
__version__ = (1, 3, 0)
1212

1313
import sys, os
1414
import platform
@@ -26,7 +26,7 @@
2626

2727
###################################################################################################
2828

29-
__all__ = ["RallyContext", "RallyContextHelper"]
29+
__all__ = ["RallyContext", "RallyContextHelper", "AgileCentralContext", "AgileCentralContextHelper"]
3030

3131
###################################################################################################
3232

@@ -87,6 +87,8 @@ def identity(self):
8787

8888
def __repr__(self):
8989
return self.identity()
90+
91+
AgileCentralContext = RallyContext
9092

9193
##################################################################################################
9294

@@ -911,6 +913,8 @@ def __repr__(self):
911913
representation = "\n".join(items)
912914
return representation
913915

916+
AgileCentralContextHelper = RallyContextHelper
917+
914918
##################################################################################################
915919

916920
class Pinger(object):

pyral/entity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
###################################################################################################
1010

11-
__version__ = (1, 2, 4)
11+
__version__ = (1, 3, 0)
1212

1313
import sys
1414
import re

0 commit comments

Comments
 (0)