# Nickineering's Default Ruff Config

A shareable Ruff starting config designed to get as much as possibly from Ruff
quickly.
## Usage
```bash
pip install ruff nickineering-ruff-config
```
Pip install this package, [Ruff](https://docs.astral.sh/ruff/), and create a
`ruff.toml` or another Ruff supported configuration file in your project root.
Inside that file extend this config like so:
```toml
extend = "nickineering-ruff-base.toml"
# Override these settings, or add your own here
# For example:
[format]
docstring-code-format = false
```
You will also need to create a script to copy the file, since Ruff does not
support extending from a package. This is a Poetry script which does that as an
example:
```toml
[tool.poetry.scripts]
update-ruff-base = "nickineering_ruff_config:update_ruff_base"
```
You could then run it with `poetry run update-ruff-base`. This would need to be
re-run to install new versions of this package.
Finally, add the output to your `.gitignore` so you can rely only on the
package.
```gitignore
# Automatically updated configuration file from nickineering-ruff-config
nickineering-ruff-base.toml
```
It is also recommended to create a `Makefile` or other command runner to
document that the update-ruff-base command must be run when installing the
project and so that calls to Ruff run both the lint and format commands. An
example `Makefile` is below:
```makefile
setup:
poetry install
poetry run update-ruff-base
lint:
ruff format
ruff check --fix
```
## Publishing
A Github Action is automatically run deploying this code to PyPi when a new
release is published in Github.
Raw data
{
"_id": null,
"home_page": null,
"name": "nickineering-ruff-config",
"maintainer": null,
"docs_url": null,
"requires_python": "~=3.7",
"maintainer_email": null,
"keywords": "config, configuration, dotfiles, formatting, linting, ruff, templates",
"author": null,
"author_email": "Nicholas Ferrara <git@nicholasferrara.net>",
"download_url": "https://files.pythonhosted.org/packages/db/6f/cd7efbc2e38c521e1a421bd751a3da63382c092bc746e7c2a4647d1b6c2f/nickineering_ruff_config-2.0.1.tar.gz",
"platform": null,
"description": "# Nickineering's Default Ruff Config\n\n\n\nA shareable Ruff starting config designed to get as much as possibly from Ruff\nquickly.\n\n## Usage\n\n```bash\npip install ruff nickineering-ruff-config\n```\n\nPip install this package, [Ruff](https://docs.astral.sh/ruff/), and create a\n`ruff.toml` or another Ruff supported configuration file in your project root.\nInside that file extend this config like so:\n\n```toml\nextend = \"nickineering-ruff-base.toml\"\n\n# Override these settings, or add your own here\n\n# For example:\n\n[format]\ndocstring-code-format = false\n```\n\nYou will also need to create a script to copy the file, since Ruff does not\nsupport extending from a package. This is a Poetry script which does that as an\nexample:\n\n```toml\n[tool.poetry.scripts]\nupdate-ruff-base = \"nickineering_ruff_config:update_ruff_base\"\n```\n\nYou could then run it with `poetry run update-ruff-base`. This would need to be\nre-run to install new versions of this package.\n\nFinally, add the output to your `.gitignore` so you can rely only on the\npackage.\n\n```gitignore\n# Automatically updated configuration file from nickineering-ruff-config\nnickineering-ruff-base.toml\n```\n\nIt is also recommended to create a `Makefile` or other command runner to\ndocument that the update-ruff-base command must be run when installing the\nproject and so that calls to Ruff run both the lint and format commands. An\nexample `Makefile` is below:\n\n```makefile\nsetup:\n poetry install\n poetry run update-ruff-base\n\nlint:\n ruff format\n ruff check --fix\n```\n\n## Publishing\n\nA Github Action is automatically run deploying this code to PyPi when a new\nrelease is published in Github.\n",
"bugtrack_url": null,
"license": null,
"summary": "A shareable Ruff starting config designed to get as much as possibly from Ruff quickly.",
"version": "2.0.1",
"project_urls": {
"Repository": "https://github.com/nickineering/ruff-config.git"
},
"split_keywords": [
"config",
" configuration",
" dotfiles",
" formatting",
" linting",
" ruff",
" templates"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "03f2abef18f2c91c43c4a5cfc2240e2790d319e5836b6d5945a10327ba8782be",
"md5": "a3d2123747232d2dd613ac608b588d9d",
"sha256": "a7e65b42689bb55d52140c90e3817996546ba0e81e12239b4b2a925895d39d49"
},
"downloads": -1,
"filename": "nickineering_ruff_config-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3d2123747232d2dd613ac608b588d9d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.7",
"size": 4335,
"upload_time": "2025-08-03T21:33:57",
"upload_time_iso_8601": "2025-08-03T21:33:57.142095Z",
"url": "https://files.pythonhosted.org/packages/03/f2/abef18f2c91c43c4a5cfc2240e2790d319e5836b6d5945a10327ba8782be/nickineering_ruff_config-2.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "db6fcd7efbc2e38c521e1a421bd751a3da63382c092bc746e7c2a4647d1b6c2f",
"md5": "9b8c226efa6c4b7363c170a883c860f7",
"sha256": "b4e4b5744174bb9bf09f790d6dee75bd6ce1250d4002e98620b01df455955c62"
},
"downloads": -1,
"filename": "nickineering_ruff_config-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "9b8c226efa6c4b7363c170a883c860f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.7",
"size": 3500,
"upload_time": "2025-08-03T21:33:57",
"upload_time_iso_8601": "2025-08-03T21:33:57.899232Z",
"url": "https://files.pythonhosted.org/packages/db/6f/cd7efbc2e38c521e1a421bd751a3da63382c092bc746e7c2a4647d1b6c2f/nickineering_ruff_config-2.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 21:33:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nickineering",
"github_project": "ruff-config",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nickineering-ruff-config"
}