wads


Namewads JSON
Version 0.1.17 PyPI version JSON
download
home_pagehttps://github.com/i2mint/wads
SummaryTools for packaging and publishing to pypi for those who just don not want to deal with it
upload_time2024-03-19 11:48:48
maintainer
docs_urlNone
authorOtosense
requires_python
licenseApache Software License
keywords documentation packaging publishing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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 is 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.

# Troubleshooting

## Vesion tag misalignment

Sometimes the twine PYPI publishing may fail with such a message:

```
WARNING  Skipping PKGNAME-0.1.4-py3-none-any.whl because it appears to already exist 
WARNING  Skipping PKGNAME-0.1.4.tar.gz because it appears to already exist
```

This often means that your git tags are misaligned with the `setup.cfg` version. 
You can see your git tags here: `https://github.com/ORG/REPO/tags`.

To repair, do this:

* go to the https://pypi.org/project/ project page and note the VERSION number
* enter a VERSION number ABOVE that one in the version key of `setup.cfg`
* `git tag VERSION`
* `git push origin VERSION`



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/i2mint/wads",
    "name": "wads",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "documentation,packaging,publishing",
    "author": "Otosense",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/85/4d/0c095a585a342d30f2d4d32264f9154c5d062042f562164180a31cee7123/wads-0.1.17.tar.gz",
    "platform": "any",
    "description": "# wads\n\nTools for packaging and publishing to pypi for those who just don't want to deal with it\n\nTo install (for example):\n```\npip install wads\n```\n\n# Usage Examples\n\nWe're going to assume you pointed \"pack\" to \"wads/pack.py\" and \"populate\" to \"wads/populate.py\",\nbecause it's convenient for us to do so. You can achieve this in various ways\n(for example, putting the contents:\n`python /Users/Thor.Whalen/Dropbox/dev/p3/proj/i/wads/wads/pack.py \"$@\"`\nin a file named \"pack\" contained in your OS's script path.)\n\n\n## populate\n\nWhen? When you got a new project and you want to quickly set it up with the packaging goodies.\n\nBasic usage:\n\n```\npopulate PKG_DIR\n```\n\nor, assuming you're using the terminal and you're in the `PKG_DIR` root folder of the project, you can just do:\n\n```\npopulate .\n```\n\nWhat that will do is create and populate some files for you.\nNamely, it will ensure your package directory has the following files (if not present already)\n```\n./LICENSE\n./setup.cfg\n./PKG_NAME/__init__.py\n./README.md\n```\n\nThe `PKG_NAME` will be taken to be the same as the name of the `PKG_DIR`.\n\nThat will work, it will be minimal and will choose defaults for you.\nYou can overwrite many of these, of course.\nFor example,\n\n```\npopulate -r https:///github.com/i2mint --description \"Something about my project...\"\n```\n\nHere are the following options:\n\n```\npositional arguments:\n  pkg-dir               -\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --description DESCRIPTION\n                        \"There is a bit of an air of mystery around this project...\"\n  -r ROOT_URL, --root-url ROOT_URL\n                        -\n  -a AUTHOR, --author AUTHOR\n                        -\n  -l LICENSE, --license LICENSE\n                        'mit'\n  --description-file DESCRIPTION_FILE\n                        'README.md'\n  -k KEYWORDS, --keywords KEYWORDS\n                        -\n  --install-requires INSTALL_REQUIRES\n                        -\n  --include-pip-install-instruction-in-readme\n                        True\n  -v, --verbose         True\n  -o OVERWRITE, --overwrite OVERWRITE\n                        ()\n  --defaults-from DEFAULTS_FROM\n                        -\n```\n\nNote that by default, populate will not overwrite files that all already there.\nIt will edit the `setup.cfg` file if it's present (and missing some entries).\n\n## Configuring the defaults of `populate`\n\nNote that `defaults-from` option in the `populate` help.\nThat's probably the most convenient argument of all.\nGo check out a file named `wads_confgis.json` in the root directory of the project.\n(If you don't know how to find that file, try this command:\n`python -c \"import wads; print(wads)\"` to get a clue).\n\nThat `wads_confgis.json` file contains key-value entries that are used in the wads package.\nThe `\"populate_dflts\"` key is used by the populate script.\nIf you edit that, you'll get different defaults out of the box.\n\nBut you can also add your own key-value pairs if you work on different kinds of projects that need\ndifferent kinds of defaults.\nFor your convenience we added a `\"custom_dflts_example_you_should_change\"` key to illustrate this.\n\n## pack\n\nThe typical sequence of the methodical and paranoid could be something like this:\n\n```\npython pack.py current-configs  # see what you got\npython pack.py increment-configs-version  # update (increment the version and write that in setup.cfg\npython pack.py current-configs-version  # see that it worked\npython pack.py current-configs  # ... if you really want to see the whole configs again (you're really paranoid)\npython pack.py run-setup  # see that it worked\npython pack.py twine-upload-dist  # publish\n# and then go check things work...\n```\n\n\nIf you're are great boilerplate hater you could just do:\n\n```\npack go PKG_DIR\n```\n\n(or `pack go --version 0.0.0 PKG_DIR` if it's the very first release).\n\nBut we suggest you get familiar with what the steps are doing, so you can bend them to your liking.\n\n# Troubleshooting\n\n## Vesion tag misalignment\n\nSometimes the twine PYPI publishing may fail with such a message:\n\n```\nWARNING  Skipping PKGNAME-0.1.4-py3-none-any.whl because it appears to already exist \nWARNING  Skipping PKGNAME-0.1.4.tar.gz because it appears to already exist\n```\n\nThis often means that your git tags are misaligned with the `setup.cfg` version. \nYou can see your git tags here: `https://github.com/ORG/REPO/tags`.\n\nTo repair, do this:\n\n* go to the https://pypi.org/project/ project page and note the VERSION number\n* enter a VERSION number ABOVE that one in the version key of `setup.cfg`\n* `git tag VERSION`\n* `git push origin VERSION`\n\n\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Tools for packaging and publishing to pypi for those who just don not want to deal with it",
    "version": "0.1.17",
    "project_urls": {
        "Homepage": "https://github.com/i2mint/wads"
    },
    "split_keywords": [
        "documentation",
        "packaging",
        "publishing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "602e9b2b21840da714c39da9a11ed42f25edfac0f6287517e11baade44865e25",
                "md5": "cc58a45c0d389d06e4207e73cd4e8e57",
                "sha256": "9887bf9cf41f7bcbc596636e7a7e9cf79972d65e0042b7efc6d3d3e93144508a"
            },
            "downloads": -1,
            "filename": "wads-0.1.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cc58a45c0d389d06e4207e73cd4e8e57",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 98154,
            "upload_time": "2024-03-19T11:48:46",
            "upload_time_iso_8601": "2024-03-19T11:48:46.696876Z",
            "url": "https://files.pythonhosted.org/packages/60/2e/9b2b21840da714c39da9a11ed42f25edfac0f6287517e11baade44865e25/wads-0.1.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "854d0c095a585a342d30f2d4d32264f9154c5d062042f562164180a31cee7123",
                "md5": "cca281aa0470950b074172242596328d",
                "sha256": "52f2d188f69ac8dcf32f00c7bf3b5d00a8ebfec010b9f620164df9436b3e17f5"
            },
            "downloads": -1,
            "filename": "wads-0.1.17.tar.gz",
            "has_sig": false,
            "md5_digest": "cca281aa0470950b074172242596328d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 94430,
            "upload_time": "2024-03-19T11:48:48",
            "upload_time_iso_8601": "2024-03-19T11:48:48.442870Z",
            "url": "https://files.pythonhosted.org/packages/85/4d/0c095a585a342d30f2d4d32264f9154c5d062042f562164180a31cee7123/wads-0.1.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 11:48:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "i2mint",
    "github_project": "wads",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wads"
}
        
Elapsed time: 0.21359s