Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/armand-sauzay/configer
⚙️ Load arbitrary objects from json/yaml into python ⚙️
https://github.com/armand-sauzay/configer
config configuration pydantic pydantic-settings python
Last synced: 2 months ago
JSON representation
⚙️ Load arbitrary objects from json/yaml into python ⚙️
- Host: GitHub
- URL: https://github.com/armand-sauzay/configer
- Owner: armand-sauzay
- License: mit
- Created: 2024-05-28T16:37:10.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-08-21T10:10:15.000Z (6 months ago)
- Last Synced: 2024-08-21T11:37:41.670Z (6 months ago)
- Topics: config, configuration, pydantic, pydantic-settings, python
- Language: Jinja
- Homepage:
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# python-template
This is a template for Python-based repositories.
## Usage
The recommended way to use this repo is to
1. **Use this project as template**: and then run copier locally. Simply click on the "Use this template" button on the GitHub page to create a new repository based on this template.
2. **Run copier**: you can download [Copier](https://github.com/copier-org/copier) and then run the following command:
```bash
copier copy "https://github.com/armand-sauzay/python-template.git"
```If you want to target a specific branch, you can use:
```bash
copier copy --vcs-ref "" "https://github.com/armand-sauzay/python-template.git"
```## Project files
### .commitlintrc.json and .releaserc.json
These files are used by `semantic-release` to determine the type of the next release. The `.commitlintrc.json` file is used to lint the commit messages. The `.releaserc.json` file is used to determine the version of the next release based on the commit messages. To lint commit messages, this project uses the default configuration of `@commitlint/config-conventional`.
### .python-version file
The `.python-version` file contains the python version used in this project. This project has been built with using `pyenv` as python version manager.
### .pre-commit-config.yaml
This file is used by `pre-commit` to determine the hooks that will be run before each commit. The hooks are defined in the `hooks` section of the file. The hooks are run in the order they are defined in the file.
### .github/workflows
This repository uses Github Actions for CI/CD. CI is composed of `Lint` with pre-commit and `Test` with pytest. Release is composed of `Lint`, `Test`, `Release` with semantic-release.
- Lint is done with [pre-commit](https://pre-commit.com/). To run lint locally, run `pre-commit run --all-files`.
- Test is done with [pytest](https://docs.pytest.org/en/8.0.x/). To run test locally, run `pytest`. Or poetry run `pytest` if you use poetry as package manager.
- Release is done with [semantic-release](https://github.com/semantic-release/semantic-release)