Merge lp:~abentley/juju-ci-tools/release-jujupy into lp:juju-ci-tools

Proposed by Aaron Bentley
Status: Merged
Merged at revision: 1955
Proposed branch: lp:~abentley/juju-ci-tools/release-jujupy
Merge into: lp:juju-ci-tools
Diff against target: 217 lines (+139/-2)
9 files modified
.bzrignore (+2/-0)
jujupy-description.rst (+28/-0)
jujupy/client.py (+14/-0)
jujupy/configuration.py (+14/-0)
jujupy/fake.py (+14/-0)
jujupy/timeout.py (+15/-0)
jujupy/utility.py (+14/-0)
jujupy/version_client.py (+14/-0)
setup.py (+24/-2)
To merge this branch: bzr merge lp:~abentley/juju-ci-tools/release-jujupy
Reviewer Review Type Date Requested Status
Curtis Hovey (community) code Approve
Review via email: mp+320720@code.launchpad.net

Commit message

Prepare jujupy to be published on pypi.

Description of the change

This branch prepares jujupy for publication on pypi.

It updates setup.py with the relevant metadata, adds copyright statements and a description.

To post a comment you must log in.
Revision history for this message
Curtis Hovey (sinzui) wrote :

We talked on IRC. This change is fine, but I am surprised that apache-2.0 was selected. We spoke on IRC and you will switch to LGPLv3.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2017-03-14 16:15:26 +0000
3+++ .bzrignore 2017-03-22 19:43:01 +0000
4@@ -6,3 +6,5 @@
5 ./.coverage
6 __pycache__
7 ./jujupy.egg-info
8+./dist
9+./jujupy-*
10
11=== added file 'jujupy-description.rst'
12--- jujupy-description.rst 1970-01-01 00:00:00 +0000
13+++ jujupy-description.rst 2017-03-22 19:43:01 +0000
14@@ -0,0 +1,28 @@
15+JujuPy
16+######
17+
18+A library for driving the Juju commandline client, created by the Juju QA
19+team.
20+
21+This library is compatible with released juju versions in the 1.x and 2.x
22+series, beginning with 1.18. It has been used in production since 2013, but
23+was extracted into a separate library in 2017.
24+
25+It provides specific support for many commands. In cases where it does not
26+provide specific support, the normal juju commandline can be used through the
27+``juju`` and ``get_juju_output`` methods.
28+
29+It provides ways of checking health, as well as waiting for an operation to
30+complete.
31+
32+It supports interactive commands like ``register``.
33+
34+It is well-tested, with more than 8K lines of tests against more than 5K lines
35+of code.
36+
37+It provides fakes for testing, i.e. a fake backend and the convenience
38+function ``get_fake_client``.
39+
40+JujuPy is part of Juju CI tools. For code and bugs, see its `Launchpad page`_.
41+
42+.. _Launchpad page: https://launchpad.net/juju-ci-tools
43
44=== modified file 'jujupy/client.py'
45--- jujupy/client.py 2017-03-17 20:26:17 +0000
46+++ jujupy/client.py 2017-03-22 19:43:01 +0000
47@@ -1,3 +1,17 @@
48+# Copyright 2013-2017 Canonical Ltd.
49+#
50+# Licensed under the Apache License, Version 2.0 (the "License");
51+# you may not use this file except in compliance with the License.
52+# You may obtain a copy of the License at
53+#
54+# http://www.apache.org/licenses/LICENSE-2.0
55+#
56+# Unless required by applicable law or agreed to in writing, software
57+# distributed under the License is distributed on an "AS IS" BASIS,
58+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
59+# See the License for the specific language governing permissions and
60+# limitations under the License.
61+
62 from __future__ import print_function
63
64 from collections import (
65
66=== modified file 'jujupy/configuration.py'
67--- jujupy/configuration.py 2017-03-17 17:27:36 +0000
68+++ jujupy/configuration.py 2017-03-22 19:43:01 +0000
69@@ -1,3 +1,17 @@
70+# Copyright 2013-2017 Canonical Ltd.
71+#
72+# Licensed under the Apache License, Version 2.0 (the "License");
73+# you may not use this file except in compliance with the License.
74+# You may obtain a copy of the License at
75+#
76+# http://www.apache.org/licenses/LICENSE-2.0
77+#
78+# Unless required by applicable law or agreed to in writing, software
79+# distributed under the License is distributed on an "AS IS" BASIS,
80+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
81+# See the License for the specific language governing permissions and
82+# limitations under the License.
83+
84 """Low-level access to Juju configuration."""
85
86 import os
87
88=== modified file 'jujupy/fake.py'
89--- jujupy/fake.py 2017-03-17 20:43:14 +0000
90+++ jujupy/fake.py 2017-03-22 19:43:01 +0000
91@@ -1,3 +1,17 @@
92+# Copyright 2016-2017 Canonical Ltd.
93+#
94+# Licensed under the Apache License, Version 2.0 (the "License");
95+# you may not use this file except in compliance with the License.
96+# You may obtain a copy of the License at
97+#
98+# http://www.apache.org/licenses/LICENSE-2.0
99+#
100+# Unless required by applicable law or agreed to in writing, software
101+# distributed under the License is distributed on an "AS IS" BASIS,
102+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
103+# See the License for the specific language governing permissions and
104+# limitations under the License.
105+
106 from argparse import ArgumentParser
107 from base64 import b64encode
108 from contextlib import contextmanager
109
110=== modified file 'jujupy/timeout.py'
111--- jujupy/timeout.py 2017-02-23 15:35:42 +0000
112+++ jujupy/timeout.py 2017-03-22 19:43:01 +0000
113@@ -1,4 +1,19 @@
114 #!/usr/bin/env python
115+#
116+# Copyright 2015, 2017 Canonical Ltd.
117+#
118+# Licensed under the Apache License, Version 2.0 (the "License");
119+# you may not use this file except in compliance with the License.
120+# You may obtain a copy of the License at
121+#
122+# http://www.apache.org/licenses/LICENSE-2.0
123+#
124+# Unless required by applicable law or agreed to in writing, software
125+# distributed under the License is distributed on an "AS IS" BASIS,
126+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
127+# See the License for the specific language governing permissions and
128+# limitations under the License.
129+
130 """A Python implementation of the *nix utility for use on all platforms."""
131 from argparse import ArgumentParser
132 from itertools import chain
133
134=== modified file 'jujupy/utility.py'
135--- jujupy/utility.py 2017-03-10 21:15:12 +0000
136+++ jujupy/utility.py 2017-03-22 19:43:01 +0000
137@@ -1,3 +1,17 @@
138+# Copyright 2014-2017 Canonical Ltd.
139+#
140+# Licensed under the Apache License, Version 2.0 (the "License");
141+# you may not use this file except in compliance with the License.
142+# You may obtain a copy of the License at
143+#
144+# http://www.apache.org/licenses/LICENSE-2.0
145+#
146+# Unless required by applicable law or agreed to in writing, software
147+# distributed under the License is distributed on an "AS IS" BASIS,
148+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
149+# See the License for the specific language governing permissions and
150+# limitations under the License.
151+
152 from contextlib import contextmanager
153 from datetime import (
154 datetime,
155
156=== modified file 'jujupy/version_client.py'
157--- jujupy/version_client.py 2017-03-10 19:54:30 +0000
158+++ jujupy/version_client.py 2017-03-22 19:43:01 +0000
159@@ -1,3 +1,17 @@
160+# Copyright 2013-2017 Canonical Ltd.
161+#
162+# Licensed under the Apache License, Version 2.0 (the "License");
163+# you may not use this file except in compliance with the License.
164+# You may obtain a copy of the License at
165+#
166+# http://www.apache.org/licenses/LICENSE-2.0
167+#
168+# Unless required by applicable law or agreed to in writing, software
169+# distributed under the License is distributed on an "AS IS" BASIS,
170+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
171+# See the License for the specific language governing permissions and
172+# limitations under the License.
173+
174 from contextlib import contextmanager
175 import json
176 from locale import getpreferredencoding
177
178=== modified file 'setup.py'
179--- setup.py 2017-03-14 16:15:26 +0000
180+++ setup.py 2017-03-22 19:43:01 +0000
181@@ -1,12 +1,34 @@
182 from setuptools import setup
183+
184+
185+with open('jujupy-description.rst') as f:
186+ long_description = f.read()
187+
188+
189 setup(
190 name='jujupy',
191- version='0.1.2',
192+ version='1.0.0',
193 description='A library for driving the Juju client.',
194+ long_description=long_description,
195 packages=['jujupy'],
196 install_requires=[
197 'python-dateutil >= 2',
198 'pexpect >= 4.0.0',
199 'PyYAML >= 3.0',
200- ]
201+ ],
202+ author='The Juju QA Team',
203+ author_email='juju-qa@lists.canonical.com',
204+ url='https://launchpad.net/juju-ci-tools',
205+ license='Apache 2',
206+ classifiers=[
207+ "License :: OSI Approved :: Apache Software License",
208+ "Development Status :: 5 - Production/Stable",
209+ "Intended Audience :: Developers",
210+ "Programming Language :: Python",
211+ "Programming Language :: Python :: 2.7",
212+ "Programming Language :: Python :: 3.5",
213+ "Operating System :: POSIX :: Linux",
214+ "Operating System :: Microsoft :: Windows",
215+ "Operating System :: MacOS :: MacOS X"
216+ ],
217 )

Subscribers

People subscribed via source and target branches