Skip to content

palliate/palgen

Repository files navigation

Palgen

PyPI License Documentation

Palgen is a powerful and modular command line tool aiming to simplify writing various common utilities such as build scripts, code generators and preprocessors. Palgen provides an easy-to-use interface for creating command line applications by automatically generating command line interfaces (CLIs) from pydantic schemas. This allows for file-based configurations and setting validation.

Features

  • Easily extendible. Once your user provided class inherits from palgen's Extension interface it will be recoginized as extension and become runnable.
  • Automatic generation of command line interfaces.
  • Settings validation using pydantic.
  • Easy migration from existing Python projects.
  • Easy-to-use ingest pipelines for processing data.
  • Automatic parallelization of extension pipelines unless disabled.
  • Comprehensive documentation available at palgen.palliate.io.

Installation

Palgen can be installed via pip:

pip install palgen

Alternatively if you want the latest development version:

pip install git+https://github.com/palliate/palgen.git@master

For now it is necessary to pull it from git directly. A proper release will soon follow.

Documentation

The detailed documentation for palgen can be found at palgen.palliate.io. It includes guides, examples, and API reference documentation to help you get started and make the most out of palgen.

Examples

Check out the examples subfolder in the repository for various usage examples for palgen.

Palgen itself uses palgen to generate parts of its documentation. You can check out those more complex extensions in the docs/modules subfolder. Since this project is part of the palliate project you may find additional usage examples in the other repositories within the palliate organization.

Contributing

Contributions to palgen are very welcome! If you find any issues or have suggestions for improvements, please open an issue on the GitHub repository. You can also submit pull requests with bug fixes or new features.

Before making a contribution, please ensure that you have read and understood the Contributing Guidelines.

Community and Support

Join the palliate Discord server to connect with the community and get support for palgen and other palliate projects. Join here.

License

Palgen is licensed under the MIT License. See the LICENSE file for more details.