Browse Source

Add docs on repo setup/releasing

Brett Langdon 9 years ago
parent
commit
2f57f7d072
No known key found for this signature in database GPG Key ID: A2ECAB73CE12147F
1 changed files with 37 additions and 0 deletions
  1. +37
    -0
      README.md

+ 37
- 0
README.md View File

@ -3,6 +3,43 @@ PyPIHub
PyPI server for serving Python packages out of GitHub. PyPI server for serving Python packages out of GitHub.
This project is useful if you have private Python packages in GitHub that you want to install via `pip`.
*Note:* You can use `-e git+ssh://git@github.com/<owner>/<repo>@<tag>` with `pip` to install private packages using git.
However, if you needed to allow someone without ssh access to GitHub the ability to install your package, or make private packages installable from a location that does not have ssh access to GitHub (e.g. docker container) then this server will make that easier for you.
## GitHub repo requirements
### Project structure
PyPIHub will not validate the source files of your package, however, you should structure the package as though you would publish them to [PyPI](https://pypi.org).
This means that your package should contain a `setup.py` file and be installable (you can use `python setup.py install` or `python setup.py develop` to test).
### Releases
PyPIHub expects that you use tags in your repo to denote releases.
If you use [GitHub releases](https://github.com/blog/1547-release-your-software) for your repo, then only those releases will be used by PyPIHub.
However, if you do not use GitHub releases, then all git tags will be used as versions.
### Version names
It is recommended (but not required) that you use [Semantic Versioning](http://semver.org/) of your projects.
*Note:* PyPIHub will automatically strip any leading `v` from your version/tag name. This will turn `v1.0.0` into `1.0.0`, which is more `pip` friendly.
### Assets
PyPIHub will always try to make a `.tar.gz` source asset available for installing from either your release or tag.
However, it is recommended that create a release and build/upload the assets for your package.
See [Creating releases](https://github.com/blog/1547-release-your-software#creating-releases) for more information.
To build assets, you can use `python setup.py sdist bdist_wheel` which will create a `.tar.gz` and a `.whl` file into a `./dist` directory.
Both of these files can and should be attached to the release.
## Installing ## Installing
```bash ```bash


Loading…
Cancel
Save