autonox


Nameautonox JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryAutonox is a nox wrapper for automatic project file generation.
upload_time2024-09-17 06:18:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseGNU General Public License v3.0 or later
keywords baseline:reals retires.
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Readme

## About autonox


Autonox is a nox wrapper for automatic project file generation.


## Requirements

* Python >= 3.12
* git

## Installation

To install autonox, simply execute:

```shell
$ pip install autonox
```

## Getting Started

### Create and costumize your project

Create a project
```sh
$ autonox -- --license "GPL-3.0+" --version-scm --auto-deps --with-black --with-codespell --with-mypy --with-flake8 --with-gitcliff --auto-baseline --project-line-lenght 200 --project-description "Autonox is a nox wrapper for automatic project file generation."
```
> **_NOTE:_** project config is saved in the .autonox_cfg file

Download a template file to costumize it:
```
$ autonox -s README.md.an
```

Force rewrite your project file with local template
```sh
$ autonox -s README.md -- -f --only-local
```

### Generate your first project release

Create your repository
```sh
$ git init
```

Commit your project files
```sh
$ git add . && git commit -m "add: initial commit" .
```

Launch project default sessions
```sh
$ nox
```

Finalize project
```sh
$ nox -s finalize
```

Generate the first release
```sh
$ nox -s release
```

## Getting help

```sh
$ autonox --help
usage: autonox [-h] [--version] [-l] [--json] [-s [SESSIONS ...]] [-p [PYTHONS ...]] [-k KEYWORDS] [-t [TAGS ...]] [-v] [-ts]
               [-db {conda,mamba,micromamba,virtualenv,venv,uv,none}] [-fb {conda,mamba,micromamba,virtualenv,venv,uv,none}] [--no-venv]
               [--reuse-venv {yes,no,always,never}] [-r] [-N] [-R] [-f NOXFILE] [--envdir ENVDIR] [--extra-pythons [EXTRA_PYTHONS ...]] [-P [FORCE_PYTHONS ...]]
               [-x] [--no-stop-on-first-error] [--error-on-missing-interpreters] [--no-error-on-missing-interpreters] [--error-on-external-run]
               [--no-error-on-external-run] [--install-only] [--no-install] [--report REPORT] [--non-interactive] [--nocolor] [--forcecolor]
               ...

Autonox is a nox wrapper for automatic project file generation.

General options:
  These are general arguments used when invoking Nox.

  -h, --help            Show this help message and exit.
  --version             Show the Nox version and exit.
  posargs               Arguments following ``--`` that are passed through to the session(s).
  -f NOXFILE, --noxfile NOXFILE
                        Location of the Python file containing Nox sessions.

Sessions options:
  These arguments are used to control which Nox session(s) to execute.

  -l, --list-sessions, --list
                        List all available sessions and exit.
  --json                JSON output formatting. Requires list-sessions currently.
  -s [SESSIONS ...], -e [SESSIONS ...], --sessions [SESSIONS ...], --session [SESSIONS ...]
                        Which sessions to run. By default, all sessions will run.
  -k KEYWORDS, --keywords KEYWORDS
                        Only run sessions that match the given expression.
  -t [TAGS ...], --tags [TAGS ...]
                        Only run sessions with the given tags.

Python options:
  These arguments are used to control which Python version(s) to use.

  -p [PYTHONS ...], --pythons [PYTHONS ...], --python [PYTHONS ...]
                        Only run sessions that use the given python interpreter versions.
  --extra-pythons [EXTRA_PYTHONS ...], --extra-python [EXTRA_PYTHONS ...]
                        Additionally, run sessions using the given python interpreter versions.
  -P [FORCE_PYTHONS ...], --force-pythons [FORCE_PYTHONS ...], --force-python [FORCE_PYTHONS ...]
                        Run sessions with the given interpreters instead of those listed in the Noxfile. This is a shorthand for ``--python=X.Y --extra-
                        python=X.Y``. It will also work on sessions that don't have any interpreter parametrized.

Environment options:
  These arguments are used to control Nox's creation and usage of virtual environments.

  -db {conda,mamba,micromamba,virtualenv,venv,uv,none}, --default-venv-backend {conda,mamba,micromamba,virtualenv,venv,uv,none}
                        Virtual environment backend to use by default for Nox sessions, this is ``'virtualenv'`` by default but any of ``['conda', 'mamba',
                        'micromamba', 'virtualenv', 'venv', 'uv', 'none']`` are accepted.
  -fb {conda,mamba,micromamba,virtualenv,venv,uv,none}, --force-venv-backend {conda,mamba,micromamba,virtualenv,venv,uv,none}
                        Virtual environment backend to force-use for all Nox sessions in this run, overriding any other venv backend declared in the Noxfile and
                        ignoring the default backend. Any of ``['conda', 'mamba', 'micromamba', 'virtualenv', 'venv', 'uv', 'none']`` are accepted.
  --no-venv             Runs the selected sessions directly on the current interpreter, without creating a venv. This is an alias for '--force-venv-backend none'.
  --reuse-venv {yes,no,always,never}
                        Controls existing virtualenvs recreation. This is ``'no'`` by default, but any of ``('yes', 'no', 'always', 'never')`` are accepted.
  -r, --reuse-existing-virtualenvs
                        This is an alias for '--reuse-venv=yes|no'.
  -N, --no-reuse-existing-virtualenvs
                        Disables --reuse-existing-virtualenvs if it is enabled in the Noxfile.
  -R                    Reuse existing virtualenvs and skip package re-installation. This is an alias for '--reuse-existing-virtualenvs --no-install'.
  --envdir ENVDIR       Directory where Nox will store virtualenvs, this is ``.nox`` by default.

Execution options:
  These arguments are used to control execution of sessions.

  -x, --stop-on-first-error
                        Stop after the first error.
  --no-stop-on-first-error
                        Disables --stop-on-first-error if it is enabled in the Noxfile.
  --error-on-missing-interpreters
                        Error instead of skipping sessions if an interpreter can not be located.
  --no-error-on-missing-interpreters
                        Disables --error-on-missing-interpreters if it is enabled in the Noxfile.
  --error-on-external-run
                        Error if run() is used to execute a program that isn't installed in a session's virtualenv.
  --no-error-on-external-run
                        Disables --error-on-external-run if it is enabled in the Noxfile.
  --install-only        Skip session.run invocations in the Noxfile.
  --no-install          Skip invocations of session methods for installing packages (session.install, session.conda_install, session.run_install) when a virtualenv
                        is being reused.
  --non-interactive     Force session.interactive to always be False, even in interactive sessions.

Reporting options:
  These arguments are used to control Nox's reporting during execution.

  -v, --verbose         Logs the output of all commands run including commands marked silent.
  -ts, --add-timestamp  Adds a timestamp to logged output.
  --report REPORT       Output a report of all sessions to the given filename.
  --nocolor, --no-color
                        Disable all color output.
  --forcecolor, --force-color
                        Force color output, even if stdout is not an interactive terminal.
Autonox global session options.

options:
  -f, --force           Always generate files even if the file already exists.
  --template uri        Uri of the project template.
                                Available scheme:[pymod|file|https|http]
                                /!\ Experimental, uses it only when you trust the source
  --only-local          Uses only local template
  --auto-deps           Search for project dependencies.
                                See pipreqs for more information.
  --auto-deps-mode {>=,==,no}
                        Enable dynamic versioning  (default=">=")
                                cf: pipreqs --mode.
  --auto-deps-local     Use only local package
                                cf: pipreqs --use-local.
  --license LICENSE     Project license (default=GPL-3.0-only).
  --devstatus DEVSTATUS
                        Project development status (default=proto).
  --build-backend BUILD_BACKEND
                        Project build-backend (default=setuptools).
  --srcdir SRCDIR       Path to the project source directory (default=src).
  --testdir TESTDIR     Path to the project test directory (default=tests).
  --docdir DOCDIR       Path to the project documentation directory (default=doc).
  --changelog CHANGELOG
                        Path to the project change log file (default=CHANGELOG.md).
  -k KEYWORDS, --keywords KEYWORDS
                        Project keywords
  --auto-baseline       Request autonox to generate the baseline name.
                                Uses wonderworld and namemaker packages.
  --no-namespace        Disable namespace finder (setupttools).
  --project-_key_ VALUE
                        Set a pyproject.project._key_ to VALUE.
  --define [DEFINES]    Use this option to define pre-processing constants,
                                    if no value is given, the constant is set to true
                        samples:
                                autonox -- -k name1
                                autonox -- k name1=value
                            usage: " ... {{pyproject.tool.autonox.name1 }} ... ".
  --undef DEFINES       Defines a constant and sets its value to false.
  --version-scm         Uses scm versioning.
  --version-dynamic     Uses dynamic versioning.
  --with-all            Sets all variables beginning with "with" to true.
  --with-_tool_         Activates a tool in the build process.
                        sample: autonox -- --with-mypy
                        usage: "... {%if options.with_mypy %} ..."
  --without-_tool_      Deactivates a tool.
  --using-_feature_     Enables a tool feature.
                        sample: autonox -- --with-coverage --using-coverage-branch.
  --not-using-_feature_
                        Disables a feature.
```


## License

GNU General Public License v3.0 or later

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "autonox",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "baseline:Reals retires.",
    "author": null,
    "author_email": "PyAnjel7 <PyAnjel7@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/59/3e/4497bc7a381ed73369ee54b35f98301747bdd2afaf6e309a9eef554142cd/autonox-0.1.0.tar.gz",
    "platform": null,
    "description": "# Readme\n\n## About autonox\n\n\nAutonox is a nox wrapper for automatic project file generation.\n\n\n## Requirements\n\n* Python >= 3.12\n* git\n\n## Installation\n\nTo install autonox, simply execute:\n\n```shell\n$ pip install autonox\n```\n\n## Getting Started\n\n### Create and costumize your project\n\nCreate a project\n```sh\n$ autonox -- --license \"GPL-3.0+\" --version-scm --auto-deps --with-black --with-codespell --with-mypy --with-flake8 --with-gitcliff --auto-baseline --project-line-lenght 200 --project-description \"Autonox is a nox wrapper for automatic project file generation.\"\n```\n> **_NOTE:_** project config is saved in the .autonox_cfg file\n\nDownload a template file to costumize it:\n```\n$ autonox -s README.md.an\n```\n\nForce rewrite your project file with local template\n```sh\n$ autonox -s README.md -- -f --only-local\n```\n\n### Generate your first project release\n\nCreate your repository\n```sh\n$ git init\n```\n\nCommit your project files\n```sh\n$ git add . && git commit -m \"add: initial commit\" .\n```\n\nLaunch project default sessions\n```sh\n$ nox\n```\n\nFinalize project\n```sh\n$ nox -s finalize\n```\n\nGenerate the first release\n```sh\n$ nox -s release\n```\n\n## Getting help\n\n```sh\n$ autonox --help\nusage: autonox [-h] [--version] [-l] [--json] [-s [SESSIONS ...]] [-p [PYTHONS ...]] [-k KEYWORDS] [-t [TAGS ...]] [-v] [-ts]\n               [-db {conda,mamba,micromamba,virtualenv,venv,uv,none}] [-fb {conda,mamba,micromamba,virtualenv,venv,uv,none}] [--no-venv]\n               [--reuse-venv {yes,no,always,never}] [-r] [-N] [-R] [-f NOXFILE] [--envdir ENVDIR] [--extra-pythons [EXTRA_PYTHONS ...]] [-P [FORCE_PYTHONS ...]]\n               [-x] [--no-stop-on-first-error] [--error-on-missing-interpreters] [--no-error-on-missing-interpreters] [--error-on-external-run]\n               [--no-error-on-external-run] [--install-only] [--no-install] [--report REPORT] [--non-interactive] [--nocolor] [--forcecolor]\n               ...\n\nAutonox is a nox wrapper for automatic project file generation.\n\nGeneral options:\n  These are general arguments used when invoking Nox.\n\n  -h, --help            Show this help message and exit.\n  --version             Show the Nox version and exit.\n  posargs               Arguments following ``--`` that are passed through to the session(s).\n  -f NOXFILE, --noxfile NOXFILE\n                        Location of the Python file containing Nox sessions.\n\nSessions options:\n  These arguments are used to control which Nox session(s) to execute.\n\n  -l, --list-sessions, --list\n                        List all available sessions and exit.\n  --json                JSON output formatting. Requires list-sessions currently.\n  -s [SESSIONS ...], -e [SESSIONS ...], --sessions [SESSIONS ...], --session [SESSIONS ...]\n                        Which sessions to run. By default, all sessions will run.\n  -k KEYWORDS, --keywords KEYWORDS\n                        Only run sessions that match the given expression.\n  -t [TAGS ...], --tags [TAGS ...]\n                        Only run sessions with the given tags.\n\nPython options:\n  These arguments are used to control which Python version(s) to use.\n\n  -p [PYTHONS ...], --pythons [PYTHONS ...], --python [PYTHONS ...]\n                        Only run sessions that use the given python interpreter versions.\n  --extra-pythons [EXTRA_PYTHONS ...], --extra-python [EXTRA_PYTHONS ...]\n                        Additionally, run sessions using the given python interpreter versions.\n  -P [FORCE_PYTHONS ...], --force-pythons [FORCE_PYTHONS ...], --force-python [FORCE_PYTHONS ...]\n                        Run sessions with the given interpreters instead of those listed in the Noxfile. This is a shorthand for ``--python=X.Y --extra-\n                        python=X.Y``. It will also work on sessions that don't have any interpreter parametrized.\n\nEnvironment options:\n  These arguments are used to control Nox's creation and usage of virtual environments.\n\n  -db {conda,mamba,micromamba,virtualenv,venv,uv,none}, --default-venv-backend {conda,mamba,micromamba,virtualenv,venv,uv,none}\n                        Virtual environment backend to use by default for Nox sessions, this is ``'virtualenv'`` by default but any of ``['conda', 'mamba',\n                        'micromamba', 'virtualenv', 'venv', 'uv', 'none']`` are accepted.\n  -fb {conda,mamba,micromamba,virtualenv,venv,uv,none}, --force-venv-backend {conda,mamba,micromamba,virtualenv,venv,uv,none}\n                        Virtual environment backend to force-use for all Nox sessions in this run, overriding any other venv backend declared in the Noxfile and\n                        ignoring the default backend. Any of ``['conda', 'mamba', 'micromamba', 'virtualenv', 'venv', 'uv', 'none']`` are accepted.\n  --no-venv             Runs the selected sessions directly on the current interpreter, without creating a venv. This is an alias for '--force-venv-backend none'.\n  --reuse-venv {yes,no,always,never}\n                        Controls existing virtualenvs recreation. This is ``'no'`` by default, but any of ``('yes', 'no', 'always', 'never')`` are accepted.\n  -r, --reuse-existing-virtualenvs\n                        This is an alias for '--reuse-venv=yes|no'.\n  -N, --no-reuse-existing-virtualenvs\n                        Disables --reuse-existing-virtualenvs if it is enabled in the Noxfile.\n  -R                    Reuse existing virtualenvs and skip package re-installation. This is an alias for '--reuse-existing-virtualenvs --no-install'.\n  --envdir ENVDIR       Directory where Nox will store virtualenvs, this is ``.nox`` by default.\n\nExecution options:\n  These arguments are used to control execution of sessions.\n\n  -x, --stop-on-first-error\n                        Stop after the first error.\n  --no-stop-on-first-error\n                        Disables --stop-on-first-error if it is enabled in the Noxfile.\n  --error-on-missing-interpreters\n                        Error instead of skipping sessions if an interpreter can not be located.\n  --no-error-on-missing-interpreters\n                        Disables --error-on-missing-interpreters if it is enabled in the Noxfile.\n  --error-on-external-run\n                        Error if run() is used to execute a program that isn't installed in a session's virtualenv.\n  --no-error-on-external-run\n                        Disables --error-on-external-run if it is enabled in the Noxfile.\n  --install-only        Skip session.run invocations in the Noxfile.\n  --no-install          Skip invocations of session methods for installing packages (session.install, session.conda_install, session.run_install) when a virtualenv\n                        is being reused.\n  --non-interactive     Force session.interactive to always be False, even in interactive sessions.\n\nReporting options:\n  These arguments are used to control Nox's reporting during execution.\n\n  -v, --verbose         Logs the output of all commands run including commands marked silent.\n  -ts, --add-timestamp  Adds a timestamp to logged output.\n  --report REPORT       Output a report of all sessions to the given filename.\n  --nocolor, --no-color\n                        Disable all color output.\n  --forcecolor, --force-color\n                        Force color output, even if stdout is not an interactive terminal.\nAutonox global session options.\n\noptions:\n  -f, --force           Always generate files even if the file already exists.\n  --template uri        Uri of the project template.\n                                Available scheme:[pymod|file|https|http]\n                                /!\\ Experimental, uses it only when you trust the source\n  --only-local          Uses only local template\n  --auto-deps           Search for project dependencies.\n                                See pipreqs for more information.\n  --auto-deps-mode {>=,==,no}\n                        Enable dynamic versioning  (default=\">=\")\n                                cf: pipreqs --mode.\n  --auto-deps-local     Use only local package\n                                cf: pipreqs --use-local.\n  --license LICENSE     Project license (default=GPL-3.0-only).\n  --devstatus DEVSTATUS\n                        Project development status (default=proto).\n  --build-backend BUILD_BACKEND\n                        Project build-backend (default=setuptools).\n  --srcdir SRCDIR       Path to the project source directory (default=src).\n  --testdir TESTDIR     Path to the project test directory (default=tests).\n  --docdir DOCDIR       Path to the project documentation directory (default=doc).\n  --changelog CHANGELOG\n                        Path to the project change log file (default=CHANGELOG.md).\n  -k KEYWORDS, --keywords KEYWORDS\n                        Project keywords\n  --auto-baseline       Request autonox to generate the baseline name.\n                                Uses wonderworld and namemaker packages.\n  --no-namespace        Disable namespace finder (setupttools).\n  --project-_key_ VALUE\n                        Set a pyproject.project._key_ to VALUE.\n  --define [DEFINES]    Use this option to define pre-processing constants,\n                                    if no value is given, the constant is set to true\n                        samples:\n                                autonox -- -k name1\n                                autonox -- k name1=value\n                            usage: \" ... {{pyproject.tool.autonox.name1 }} ... \".\n  --undef DEFINES       Defines a constant and sets its value to false.\n  --version-scm         Uses scm versioning.\n  --version-dynamic     Uses dynamic versioning.\n  --with-all            Sets all variables beginning with \"with\" to true.\n  --with-_tool_         Activates a tool in the build process.\n                        sample: autonox -- --with-mypy\n                        usage: \"... {%if options.with_mypy %} ...\"\n  --without-_tool_      Deactivates a tool.\n  --using-_feature_     Enables a tool feature.\n                        sample: autonox -- --with-coverage --using-coverage-branch.\n  --not-using-_feature_\n                        Disables a feature.\n```\n\n\n## License\n\nGNU General Public License v3.0 or later\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3.0 or later",
    "summary": "Autonox is a nox wrapper for automatic project file generation.",
    "version": "0.1.0",
    "project_urls": {
        "Changelog": "https://github.com/PyAnjel7/autonox/blob/master/CHANGELOG.md",
        "Documentation": "https://autonox.readthedocs.io",
        "Issues": "https://github.com/PyAnjel7/autonox/issues",
        "Repository": "https://github.com/PyAnjel7/autonox.git"
    },
    "split_keywords": [
        "baseline:reals",
        "retires."
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7b525f8ebffc67f5bb91ac289a756a219be32d8077a3b3964be43807ab6d508",
                "md5": "d703aa6674e51810de2ec87cd5e91b5d",
                "sha256": "0860d9f807e07c0e178ad41191c540798edc99f2f77d59cff4ca047cf59ff321"
            },
            "downloads": -1,
            "filename": "autonox-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d703aa6674e51810de2ec87cd5e91b5d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 98364,
            "upload_time": "2024-09-17T06:18:39",
            "upload_time_iso_8601": "2024-09-17T06:18:39.572564Z",
            "url": "https://files.pythonhosted.org/packages/d7/b5/25f8ebffc67f5bb91ac289a756a219be32d8077a3b3964be43807ab6d508/autonox-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "593e4497bc7a381ed73369ee54b35f98301747bdd2afaf6e309a9eef554142cd",
                "md5": "50eaa18eca159e5477a71ceec0f842b8",
                "sha256": "15b5944061e35ccaeebd2261176faeab06850a908a28c4421ae25be92be3bb99"
            },
            "downloads": -1,
            "filename": "autonox-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "50eaa18eca159e5477a71ceec0f842b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 103144,
            "upload_time": "2024-09-17T06:18:43",
            "upload_time_iso_8601": "2024-09-17T06:18:43.579056Z",
            "url": "https://files.pythonhosted.org/packages/59/3e/4497bc7a381ed73369ee54b35f98301747bdd2afaf6e309a9eef554142cd/autonox-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-17 06:18:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PyAnjel7",
    "github_project": "autonox",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "autonox"
}
        
Elapsed time: 0.89068s