Skip to content

Commit 8fbaaf5

Browse files
committed
gross match to klehman-rally/pyral 1.6.0 master
1 parent 6f6e360 commit 8fbaaf5

73 files changed

Lines changed: 3687 additions & 2092 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
Addendum.txt
3+
4+
yeti*.cfg
5+
6+
.pypirc
7+
.*.swp
8+
9+
.DS_Store
10+
.idea/
11+
venv/
12+
pyral/__pycache__/
13+
14+
*.pyc
15+
test/rally_targets.py
16+
test/rally_targets-real.py
17+
test/rally_targets-safe.py
18+
test/raltargs.py
19+
test/.*.swp
20+
*.tar
21+
do_cover
22+
do_qt
23+
24+
collection-attrs
25+
dev-notes-for-1.2.0
26+
*1.2.*
27+
doc/build/html/pyral-docs.html.zip
28+
entity-new.py
29+
get*.py
30+
huuque.py
31+
examples/stryftr.py
32+
rally.cfg
33+
kip.cfg
34+
coll.cfg
35+
nick.cfg
36+
yodel.cfg
37+
examples/rally.cfg
38+
examples/yeti.cfg
39+
*.log
40+
holding-tank/
41+
temp/
42+
.cache
43+
rally-v2.0.cfg
44+
nmds.cfg
45+
notes-1.0.1
46+
notes-1.1.0
47+
notes-1.1.1
48+
query_condition_value_has_matched_internal_parens
49+
spec_char_query
50+
style.sins
51+
test/query_condition_value_has_matched_internal_parens
52+
test/wksp_proj_matrix.notes
53+
v2.notes*
54+
threading-performance.data
55+
codestyle.setup.cfg
56+
.coverage*
57+
cov_html/
58+
release-guide-*
59+
pyral-*.tar.gz
60+
pyral-*.zip
61+
dist/lab/
62+
dists/pyral-*.tgz
63+
dist/sdist-generated
64+
build/
65+
pkin.py

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © Broadcom, Inc. - 2018-2021; CA Technoligies - 2015-2018; Rally Software Development Corp. - 2010-2015
1+
Copyright © Broadcom, Inc. - 2018-2024; CA Technologies - 2015-2018; Rally Software Development Corp. - 2010-2015
22
All rights reserved.
33

44
License for pyral (a Python toolkit for the Rally REST API)

PKG-INFO

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Metadata-Version: 1.1
22
Name: pyral
3-
Version: 1.5.2
3+
Version: 1.6.0
44
Summary: Python toolkit for Rally REST API
55
Home-page: https://github.com/RallyTools/RallyRestToolkitForPython
6-
Author: Kip Lehman (Broadcom, Enterprise Software Division)
6+
Author: Kip Lehman (Broadcom, Agile Operations Division)
77
License: BSD
8-
Download-URL: https://github.com/RallyTools/RallyRestToolkitForPython/raw/master/dists/pyral-1.5.2.zip
8+
Download-URL: https://github.com/RallyTools/RallyRestToolkitForPython/raw/master/dists/pyral-1.6.0.zip
99
Description: This is the README file for pyral, a package implementing a
1010
Pythonic interface to the Rally REST API
1111

@@ -25,11 +25,9 @@ Description: This is the README file for pyral, a package implementing a
2525
Requirements
2626
------------
2727

28-
The pyral package requires the use of Kenneth Reitz's requests package using version 2.12.0 or better.
29-
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
28+
The pyral package requires the use of Kenneth Reitz's requests package using version 2.28.0 or better.
3029
The requests package can be found via the Python Package Index site (http://pypi/python.org/index).
31-
The most recent release of pyral (1.5.2) has been tested with requests 2.22.0.
32-
The six module is also required.
30+
The most recent release of pyral (1.6.0) has been tested with requests 2.31.0.
3331

3432

3533
Installation
@@ -42,9 +40,8 @@ Description: This is the README file for pyral, a package implementing a
4240
pip install pyral
4341

4442
Alternatively if you've got the tar.gz or zip distribution on hand, as long as you've
45-
satisfied the dependency requirements on the six and requests packages, you can use
46-
the setup mechanism.
47-
Once requests and six has been installed, run the setup.py program supplied with
43+
satisfied the dependency requirement of the requests packages, you can use the setup mechanism.
44+
Once the requests package has been installed, run the setup.py program supplied with
4845
this distribution as::
4946

5047
python setup.py install
@@ -72,18 +69,17 @@ Description: This is the README file for pyral, a package implementing a
7269

7370

7471
Keywords: rally,api
75-
Requires: six
76-
Requires: requests>=2.25.1
72+
Requires: requests>=2.28.1
7773
Platform: any
7874
Classifier: Development Status :: 5 - Production/Stable
7975
Classifier: Environment :: Web Environment
8076
Classifier: Intended Audience :: Developers
8177
Classifier: License :: OSI Approved :: BSD License
8278
Classifier: Operating System :: OS Independent
8379
Classifier: Programming Language :: Python
84-
Classifier: Programming Language :: Python :: 3.6
85-
Classifier: Programming Language :: Python :: 3.7
86-
Classifier: Programming Language :: Python :: 3.8
8780
Classifier: Programming Language :: Python :: 3.9
81+
Classifier: Programming Language :: Python :: 3.10
82+
Classifier: Programming Language :: Python :: 3.11
83+
Classifier: Programming Language :: Python :: 3.12
8884
Classifier: Topic :: Internet :: WWW/HTTP
8985
Classifier: Topic :: Software Development :: Libraries

README.rst

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ and productive Python language.
77
The ``pyral`` package provides a smooth and easy to use veneer on top
88
of the Rally REST Web Services API using JSON.
99

10-
This package is once again branded as a 'Rally' toolkit.
11-
The era of "Agile Central" branding is over, we'll not speak of it again.
12-
13-
1410
.. contents::
1511

1612
Getting started
@@ -40,18 +36,13 @@ pip, the Python package installation utility.::
4036
pip install pyral
4137

4238
Alternatively, if you've got the tar.gz or zip distribution on hand, as long as you've
43-
satisfied the dependency requirements on the six and requests packages, you can use
44-
the setup mechanism.
39+
satisfied the dependency requirement on the requests package, you can use the setup mechanism.
4540
Obtain the requests_ package and install it according to that package's directions.
46-
As of requests-2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
47-
Use of requests-2.x or better is recommended for use with pyral.
41+
Use of requests-2.28.x or better is recommended for use with pyral.
4842
The requests_ package can be found via the Python Package Index site (http://pypi/python.org/index).
49-
The most recent release of pyral (1.5.2) has been tested using requests 2.22.0.
50-
51-
Obtain and install the six_ module (available from PyPI at https://pypi.python.org/pypi/six)
43+
The most recent release of pyral (1.6.0) has been tested using requests 2.31.0.
5244

53-
54-
Unpack the ``pyral`` distribution file (zip or tar.gz) and then install the pyral_ package.
45+
Unpack the ``pyral`` distribution file (zip or tar.gz) and then install the pyral_ package.
5546

5647
::
5748

@@ -70,12 +61,11 @@ relevant packages.
7061
::
7162

7263
$ python
73-
Python 3.8.5 [other Python interpreter info elided ...]
64+
Python 3.11.5 [other Python interpreter info elided ...]
7465
>> import requests
7566
>> import pyral
7667
>> pyral.__version__
77-
(1, 5, 2)
78-
68+
(1, 6, 0)
7969

8070

8171
30 second highlight
@@ -251,16 +241,20 @@ The item names in config files **are** case sensitive.
251241
Prerequisites
252242
-------------
253243

254-
* Python 3.6, 3.7, 3.8 or 3.9 (this package not tested with earlier versions of Python 3.x)
255-
* The requests_ package, 2.0.0 or better (2.0.0 finally includes support for https proxy),
256-
requests 2.22.0 or more recent is recommended.
257-
* The six_ package.
244+
* Python 3.9, 3,10, 3.11 or 3.12 (this package not tested with earlier versions of Python 3.x)
245+
* The requests_ package, 2.28.1 or better, requests 2.31.0 or beyond is recommended.
258246

259247
.. _requests: http://github.com/kennethreitz/requests
260-
.. _six: https://bitbucket.org/gutworth/six
261248

262249
Versions
263250
--------
251+
**1.6.0**
252+
Eliminated use of six package.
253+
Added support for Risk, Objective, KeyResult and CapacityPlan* entities.
254+
Fixed bug in restapi.getAllUsers that prevented retrieval of Users beyond the first chunk
255+
Adjusted restapi.py treatment of headers to allow multiple pyral.Rally instances (could be various users...).
256+
Explicitly state support for Python 3.9, 3.10, 3.11 and 3.12
257+
Drop any mention of support for versions 3.8 and earlier.
264258

265259
**1.5.2**
266260
Fixed query builder so that multi-condition queries thet include subset or range conditions
@@ -365,7 +359,7 @@ TODO
365359
License
366360
-------
367361

368-
BSD3-style license. Copyright (c) 2018-2021 Broadcom, Inc., 2015-2018 CA Technologies, 2010-2015 Rally Software Development.
362+
BSD3-style license. Copyright (c) 2018-2024 Broadcom, Inc., 2015-2018 CA Technologies, 2010-2015 Rally Software Development.
369363

370364
See the LICENSE file provided with the source distribution for full details.
371365

README.short

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ that may be references or collections via the familiar dot '.' notation.
1717
Requirements
1818
------------
1919

20-
The pyral package requires the use of Kenneth Reitz's requests package using version 2.12.0 or better.
21-
As of requests version 2.0.0, there is support for HTTPS over HTTP proxy via the CONNECT request.
20+
The pyral package requires the use of Kenneth Reitz's requests package using version 2.28.0 or better.
2221
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.5.2) has been tested with requests 2.22.0.
24-
The six module is also required.
22+
The most recent release of pyral (1.6.0) has been tested with requests 2.31.0.
2523

2624

2725
Installation
@@ -34,9 +32,8 @@ pip, the Python package installation utility.::
3432
pip install pyral
3533

3634
Alternatively if you've got the tar.gz or zip distribution on hand, as long as you've
37-
satisfied the dependency requirements on the six and requests packages, you can use
38-
the setup mechanism.
39-
Once requests and six has been installed, run the setup.py program supplied with
35+
satisfied the dependency requirement of the requests packages, you can use the setup mechanism.
36+
Once the requests package has been installed, run the setup.py program supplied with
4037
this distribution as::
4138

4239
python setup.py install

VERSIONS

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,11 @@
154154
Excised all mentions of AgileCentral in the docs, replaced by 'Rally'.
155155

156156
1.5.2 - Jul 2021
157-
Fixed query builder so that multi-condition queries thet include subset or range conditions
157+
Fixed query builder so that multi-condition queries that include subset or range conditions
158158
are constructed correctly.
159159
Dropped all code related to ping functionality.
160160

161+
1.6.0 - Feb 2024
162+
Updated supported Python versions to 3.9, 3.10, 3.11 and 3.12. No longer requires six package.
163+
Fixed defect in the getAllUsers method that prevented Users beyond the first page from being retrieved.
164+

build_dist.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import re
1515

1616
PACKAGE_NAME = "pyral"
17-
VERSION = "1.5.2"
17+
VERSION = "1.6.0"
1818

1919
AUX_FILES = ['MANIFEST.in',
2020
'PKG-INFO',
@@ -65,9 +65,9 @@
6565
'doc/build/html/_static',
6666
'doc/build/html/_static/css',
6767
'doc/build/html/_static/css/fonts',
68-
'doc/build/html/_static/fonts',
69-
'doc/build/html/_static/fonts/Lato',
70-
'doc/build/html/_static/fonts/RobotoSlab',
68+
#'doc/build/html/_static/fonts',
69+
#'doc/build/html/_static/fonts/Lato',
70+
#'doc/build/html/_static/fonts/RobotoSlab',
7171
'doc/build/html/_static/js',
7272
]
7373

cr_milestone.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env python
2+
3+
#################################################################################################
4+
#
5+
# cr_milestone.py -- Create a Milestone instance with a Name and TargetDate
6+
#
7+
USAGE = """
8+
Usage: cr_milestone.py <name> <target_date>
9+
"""
10+
#################################################################################################
11+
12+
import sys, os
13+
from pyral import Rally, rallyWorkset
14+
15+
#################################################################################################
16+
17+
errout = sys.stderr.write
18+
19+
#################################################################################################
20+
21+
def main(args):
22+
options = [opt for opt in args if opt.startswith('--')]
23+
args = [arg for arg in args if arg not in options]
24+
25+
if len(args) != 2:
26+
print("No arguments for the Milestone Name or TargetDate were specified")
27+
sys.exit(1)
28+
29+
server, user, password, apikey, workspace, project = rallyWorkset(options)
30+
if apikey:
31+
rally = Rally(server, apikey=apikey, workspace=workspace, project=project)
32+
else:
33+
rally = Rally(server, user=user, password=password, workspace=workspace, project=project)
34+
35+
target_project = rally.getProject()
36+
target_entity_name = 'Milestone'
37+
milestone_name, milestone_target_date = args[:2]
38+
info = { 'Name' : milestone_name,
39+
'TargetDate' : milestone_target_date
40+
}
41+
42+
43+
print(f"Creating {target_entity_name} ...")
44+
milestone = rally.put(target_entity_name, info)
45+
print(f"Created Milestone: {milestone.FormattedID} OID: {milestone.oid} Name: {milestone.Name} TargetDate: {milestone.TargetDate}")
46+
47+
#################################################################################################
48+
#################################################################################################
49+
50+
if __name__ == '__main__':
51+
main(sys.argv[1:])

0 commit comments

Comments
 (0)