github-distutils
Warning
This project is abandoned, and we recommend not to use this anymore. Because PyPI and pip disallows to download package distributions from other than official PyPI for security reasons.
Intro
Distribute/setuptools/distutils command for GitHub. You can use GitHub downloads instead of PyPI downloads for release.
To use this, follow the instruction.
Instruction
First of all your software must be packaged within the standard distribution way: use distutils, Distribute or setuptools. This package contains an extension command for that.
Then, add this package into setup_requires
parameter of your setup()
configuration (of setup.py
script):
setup(name='YourPackageName', version='1.2.3', ..., setup_requires=['github-distutils >= 0.1.0'])
Now there will be github_upload
command for your setup.py
:
$ python setup.py github_upload --help Common commands: (see '--help-commands' for more) ... Options for 'github_upload' command: --repository (-R) GitHub repository name e.g. user/reponame --username (-u) GitHub username --password (-p) GitHub password ...
If -u
/--username
and -p
/--password
are not present, it will
shows the prompt. -R
/--repository
is required.
Upload
Upload is very easy:
$ python setup.py sdist github_upload -R user/reponame register
By explained:
sdist
- Makes the source distribution file. If your package name is
YourPackageName
and its version is1.2.3
, and then its file name becomesYourPackageName-1.2.3.tar.gz
. github_upload -R user/reponame
- Uploads the built source distribution file into your GitHub repository. It does not mean that it will be version-controlled, but it will be simply uploaded to its downloads page.
register
- Using the GitHub download URL registers the package of this version into PyPI. The URL of PyPI page will be http://pypi.python.org/YourPackageName/1.2.3
Defaulting options
You can make default values for these options by specifying in the setup.cfg
configuration file. For example, if you want to default --repository
,
make setup.cfg
file like (hyphens becomes underscores):
[upload] repository = user/reponame
You can make a shorthand alias as well:
[aliases] release = sdist github_upload register
Author and license
It is distributed under Public Domain. Just do what you want to do with this. Written by Hong Minhee.
You can checkout the source code from its GitHub repository:
$ git clone git://github.com/dahlia/github-distutils.git
If you found a bug, please report it to the issue tracker.
For Bitbucket users
Use bitbucket-distutils which is a package by the same author if you are using Bitbucket instead of GitHub.
Changelog
Version 0.1.1
Released on June 20, 2012. Beta version.
- Allow upper cases for GitHub repository names. [#1 by Xavier Barbosa]
- Windows compatibility: fixed
UnicodeDecodeError
for uploads.
Version 0.1.0
Released on May 27, 2012. First alpha version.