Comments (9)
Apologies. Please give it another try!
Original comment by [email protected]
on 15 Sep 2009 at 1:41
from argparse.
Hi Steven,
Did you release a new version (1.0.2), or simply replaced the old tarball with
the
new one of the same name?
If you did the later, then users won't be able to "upgrade" to the newer
version.
Even though the distutils may not have versioned upgrades, tools like PyPM (to
be
released by beginning of October this year) will not be able to use the new
tarball
released under the same name. See
http://pypm.activestate.com/list-a.html#argparse
It is for this reason, one better not "edit" already released tarballs.
Original comment by [email protected]
on 15 Sep 2009 at 7:36
from argparse.
I just replaced the .zip file with the assumption that only a small number of
people
had downloaded it already, and no one on Unix had successfully installed it. ;-)
I'm not totally sure what "upgrade" means as far as PyPM goes (which I know
nothing
about), but can you really "upgrade" a package that never installed in the
first place?
Note that the bug was only in the setup.py, not in the actual module. If anyone
successfully installed the package, then they definitely have no need of the
updated
.zip file - the argparse.py file is identical in both.
Original comment by [email protected]
on 15 Sep 2009 at 8:23
from argparse.
Hi Steven,
[srid]
> users won't be able to "upgrade" to the newer version.
[steven]
>> but can you really "upgrade" a package that never
>> installed in the first place
Nope. Nevermind about it then.
> I'm not totally sure what "upgrade" means as far as
> PyPM goes (which I know nothing about)
PyPM is ActiveState's upcoming Python package manager similar to PPM or
Debian's
apt. Basically, "argparse 1.0.1" build failed on Linux, Mac and thus is
automatically marked as "do not try to build again [the same tarball]". A new
build
happens only when a new release (i.e., newer version) comes (or we have to
remember
to manually rebuild the package).
As a result of the editing done in 1.0.1 and PyPM's build-behavior illustrated
above, argparse 1.0.1 remains unavailable in the PyPM repository. I can
manually
trigger a rebuild of argparse now, but this cannot be practically done for each
and
every project "editing" their releases.
Original comment by [email protected]
on 15 Sep 2009 at 10:46
from argparse.
I gather you're monitoring PyPI somehow to determine when new releases are
made? Is
it possible to also monitor when new files are uploaded? At least in the case
where
only the build (e.g. setup.py) is broken, it really doesn't seem inappropriate
to
call it the same release.
That said, I don't plan to make a habit of "editing" releases. ;-)
Original comment by [email protected]
on 15 Sep 2009 at 11:59
from argparse.
> I gather you're monitoring PyPI somehow to
> determine when new releases are made?
Yup; that is how I update an internal PyPI mirror we have (and this 'new' 1.0.1
release is available as part of the daily sync).
> Is it possible to also monitor when new files are
> uploaded?
It may be possible. But I want to keep the implementation simple. I think
release
editing happens only rarely. To force a rebuild all I have to do is to "rm -rf"
the
build log; and the build automatically happens the subsequent day (that is what
I
did with argparse-1.0.1 today).
BUT, in future there are plans to implement some sort of smart notification to
authors letting them know that a build of their package fails (only if they
sign-up
in first place). And things like that.
> At least in the case where only the build
> (e.g. setup.py) is broken, it really doesn't
> seem inappropriate to call it the same release.
Well, personally I would make a "post-release". Maybe 1.0.1.1 or, if one is
using
setuptools, 1.0.1-r453 as explained here -
http://peak.telecommunity.com/DevCenter/
setuptools#specifying-your-project-s-version - in which case the actual version
number would still remain 1.0.1.
Original comment by [email protected]
on 16 Sep 2009 at 12:54
from argparse.
I didn't see the explanation in your link (and I've never had any luck
navigating the
setuptools documentation) but assuming this ever happens again (which I hope it
won't), a 1.0.1-rXXX sounds fine to me.
I'm assuming that for this one time you'll just "rm -rf" the build log. (Let me
know
if that's not true.) Thanks for all the info on what you guys are working on -
it's
good for me to be aware of what these technologies require of the release
process. =)
Original comment by [email protected]
on 16 Sep 2009 at 5:34
- Changed state: Fixed
from argparse.
Yup, I did 'rm -rf' yesterday. Take a look at:
http://pypm.activestate.com/list-a.html#argparse
(aside - would you be interested in trying out PyPM private beta and giving
your
valuable feedback?)
Original comment by [email protected]
on 16 Sep 2009 at 9:38
from argparse.
Excellent - all white. =) Thanks!
And sure, I'm happy to try out PyPM. Thanks!
Original comment by [email protected]
on 17 Sep 2009 at 1:02
from argparse.
Related Issues (20)
- Poll: why are you using argparse from pypi (or from here) these days? HOT 3
- How to filepath location as command line argument HOT 1
- What does the comments "We have to allow for ..." means? HOT 3
- parsing only a subset and leave all other checks undone HOT 3
- The description of optional arguments which takes values is not same as the (true/false) based ones since it's name is appearing twice. HOT 1
- argparse 1.2 incompatible with Python 3.1 HOT 10
- When -h is used, default values that fail should not matter HOT 2
- positional arguments before options cause all options to be in REMAINDER HOT 1
- Argparse is not testable with nosetest HOT 1
- `choices=[...]` overrides `nargs='*'` HOT 1
- Serious issues with nested mutex groups in help output HOT 2
- Bug with negative numbers in scientific notation HOT 1
- pypi version does not handle empty arguments when fromfile_prefix_chars set (python issue 12353) HOT 1
- .add_mutually_exclusive_group() only works when child of parser but not when a child of argument group HOT 1
- Argparse 1.4.0 doesn't have a wheel on PyPI: causes get-pip.py failures. HOT 2
- Is " if option_string.startswith(option_prefix): " a special design in _get_option_tuples()? HOT 3
- Issue with argument_group and required add_mutually_exclusive_group HOT 2
- AssertionError: assert ' '.join(pos_parts) == pos_usage HOT 3
- argparse WBN if default values displayed in -h message HOT 1
- argparse ArgumentParser(allow_abbrev=True) not documented on web HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argparse.