Skip to main content

Tools for packaging and publishing to pypi for those who just don't want to deal with it

Project description

wads

Tools for packaging and publishing to pypi for those who just don't want to deal with it

To install (for example):

pip install wads

Usage Examples

We're going to assume you pointed "pack" to "wads/pack.py" and "populate" to "wads/populate.py", because it's convenient for us to do so. You can achieve this in various ways (for example, putting the contents: python /Users/Thor.Whalen/Dropbox/dev/p3/proj/i/wads/wads/pack.py "$@" in a file named "pack" contained in your OS's script path.)

populate

When? When you got a new project and you want to quickly set it up with the packaging goodies.

Basic usage:

populate PKG_DIR

or, assuming you're using the terminal and you're in the PKG_DIR root folder of the project, you can just do:

populate .

What that will do is create and populate some files for you. Namely, it will ensure your package directory has the following files (if not present already)

./LICENSE
./setup.cfg
./PKG_NAME/__init__.py
./README.md

The PKG_NAME will be taken to be the same as the name of the PKG_DIR.

That will work, it will be minimal and will choose defaults for you. You can overwrite many of these, of course. For example,

populate -r https:///github.com/i2mint --description "Something about my project..."

Here are the following options:

positional arguments:
  pkg-dir               -

optional arguments:
  -h, --help            show this help message and exit
  --description DESCRIPTION
                        "There's a bit of an air of mystery around this project..."
  -r ROOT_URL, --root-url ROOT_URL
                        -
  -a AUTHOR, --author AUTHOR
                        -
  -l LICENSE, --license LICENSE
                        'mit'
  --description-file DESCRIPTION_FILE
                        'README.md'
  -k KEYWORDS, --keywords KEYWORDS
                        -
  --install-requires INSTALL_REQUIRES
                        -
  --include-pip-install-instruction-in-readme
                        True
  -v, --verbose         True
  -o OVERWRITE, --overwrite OVERWRITE
                        ()
  --defaults-from DEFAULTS_FROM
                        -

Note that by default, populate will not overwrite files that all already there. It will edit the setup.cfg file if it's present (and missing some entries).

Configuring the defaults of populate

Note that defaults-from option in the populate help. That's probably the most convenient argument of all. Go check out a file named wads_confgis.json in the root directory of the project. (If you don't know how to find that file, try this command: python -c "import wads; print(wads)" to get a clue).

That wads_confgis.json file contains key-value entries that are used in the wads package. The "populate_dflts" key is used by the populate script. If you edit that, you'll get different defaults out of the box.

But you can also add your own key-value pairs if you work on different kinds of projects that need different kinds of defaults. For your convenience we added a "custom_dflts_example_you_should_change" key to illustrate this.

pack

The typical sequence of the methodical and paranoid could be something like this:

python pack.py current-configs  # see what you got
python pack.py increment-configs-version  # update (increment the version and write that in setup.cfg
python pack.py current-configs-version  # see that it worked
python pack.py current-configs  # ... if you really want to see the whole configs again (you're really paranoid)
python pack.py run-setup  # see that it worked
python pack.py twine-upload-dist  # publish
# and then go check things work...

If you're are great boilerplate hater you could just do:

pack go PKG_DIR

(or pack go --version 0.0.0 PKG_DIR if it's the very first release).

But we suggest you get familiar with what the steps are doing, so you can bend them to your liking.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wads-0.0.13.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wads-0.0.13-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file wads-0.0.13.tar.gz.

File metadata

  • Download URL: wads-0.0.13.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for wads-0.0.13.tar.gz
Algorithm Hash digest
SHA256 9c2399f8a1e418b65d56492bbf47bd69feccd4a587f4ed8953fa54af22958ae0
MD5 8d3c897c89d841920468e2b9ca30aee5
BLAKE2b-256 4e774d2c5b28e03ad50ec5a1bba71673a5f1f1f4f16cb3c81fd280491356766e

See more details on using hashes here.

File details

Details for the file wads-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: wads-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for wads-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 91a95d8969e67ec97ebbfb80d9a4c3c3ecaa54d10be6ef6e4bff6adbf9a7d031
MD5 c7b4835c1b71b4a8e4770d733f7dd048
BLAKE2b-256 ec43b5004bb5bf146c19dce2eff356aa1c3733ed4d8b529e034aad01682bb101

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page