Metadata-Version: 2.1
Name: autocopyright
Version: 1.0.0
Summary: Script for adding copyright notes at the top of files.
Home-page: https://github.com/Argmaster/autocopyright
Author: Krzysztof Wiśniewski
Author-email: argmaster.world@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: jellyfish (>=0.9.0,<0.10.0)
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
Requires-Dist: tomlkit (>=0.11.6,<0.12.0)
Project-URL: Repository, https://github.com/Argmaster/autocopyright
Description-Content-Type: text/markdown

# autocopyright

Autocopyright is a script which was designed to automatically add copyright
notices at the top of source files. It uses jinja2 templates which can be
automatically filled with values pulled from `pyproject.toml` and other files.

## Example

To run autocopyright you must specify comment sign, directory to traverse, glob
patterns of files to modify and path to license template.

```
autocopyright -s "#" -d autocopyright -g "*.py" -g "*.pyi" -l "./templates/MIT.md.jinja2"
```

## Templates

Autocopyright uses Jinja2 templates to determine content of copyright header.
Such template is loaded from predefined destination and rendered with few
special variables available. Those variables are listed below:

- `now` - `datetime.datetime` object holding current time (determined once, at
  the beginning of script execution)

- `pyproject` - dictionary-like object holding loaded content of
  `pyproject.toml` file loaded from current working directory of script.

Template for **LGPL-3.0** license could look like this:

```jinja
Copyright {{ now.year }} {{ pyproject.tool.poetry.authors[0] }}

This file is part of {{ pyproject.tool.poetry["name"] }}.
{{ pyproject.tool.poetry.repository }}

{{ pyproject.tool.poetry["name"] }} is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.

{{ pyproject.tool.poetry["name"] }} is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.

You should have received a copy of the GNU Lesser General Public License
along with {{ pyproject.tool.poetry["name"] }}. If not, see <http://www.gnu.org/licenses/>.
```

