https://github.com/polyconseil/copyist
Keep your configuration synced between repositories
https://github.com/polyconseil/copyist
Last synced: about 1 year ago
JSON representation
Keep your configuration synced between repositories
- Host: GitHub
- URL: https://github.com/polyconseil/copyist
- Owner: Polyconseil
- License: mit
- Created: 2019-11-06T16:12:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-10T15:06:54.000Z (over 6 years ago)
- Last Synced: 2025-01-22T10:16:56.691Z (over 1 year ago)
- Language: Python
- Size: 16.6 KB
- Stars: 0
- Watchers: 18
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
==============================================
copyist - Easily sync your configuration files
==============================================
To make sure all your projects share the same configuration, add a ``[tool.copyist]`` section to
the ``pyproject.toml`` file of your projects specifying the expected files and their generators.
For example, ``copyist``'s ``isort`` configuration is synced from ``examples/isort.py`` policy as specified
in its ``pyproject.toml``::
[tool.copyist]
[tool.copyist.context]
package_name = "copyist"
[tool.copyist.files]
"pyproject.toml" = ["examples.isort.apply_config"]
Configuration
=============
``[tool.copyist.files]`` section lists the files to generate/keep synced with their list of generators to apply.
Each generator is a function taking as argument the previous content of the file and an optional context
specified in ``[tool.copyist.context]`` section.
The generators are generally provided by an other Python package specifying your expected configuration.
Command line options
====================
You can list them by running ``copyist --help``::
usage: copyist [-h] [--version] [--config CONFIG] [--verbose] [--dry-run]
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--config CONFIG, -c CONFIG
Configuration file (defaults to pyproject.toml)
--verbose, -v Show the diff produced at each stage
--dry-run Do not overwrite files
Helpers
=======
Currently only ``copyist.helpers.fill_tool_section(previous_content, tool_name, section_text)`` is available
to help fill ``pyproject.toml`` with the different tools' configurations.