# 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"
}