Metadata-Version: 2.1
Name: craft-grammar
Version: 1.1.2
Summary: "Advance Grammar for Craft Parts"
Home-page: https://github.com/canonical/craft-grammar
Author: Canonical Ltd.
Author-email: snapcraft@lists.snapcraft.io
License: GNU Lesser General Public License v3 (LGPLv3)
Project-URL: Documentation, https://craft-grammar.readthedocs.io/en/latest/
Project-URL: Source, https://github.com/canonical/craft-grammar.git
Project-URL: Issues, https://github.com/canonical/craft-grammar/issues
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
License-File: LICENSE
Requires-Dist: overrides
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-autobuild; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Requires-Dist: sphinx-pydantic; extra == "doc"
Requires-Dist: sphinx-rtd-theme; extra == "doc"
Requires-Dist: sphinx-lint==0.6.7; extra == "doc"
Provides-Extra: release
Requires-Dist: twine; extra == "release"
Requires-Dist: wheel; extra == "release"
Provides-Extra: test
Requires-Dist: coverage==6.5.0; extra == "test"
Requires-Dist: black==22.12.0; extra == "test"
Requires-Dist: codespell==2.2.2; extra == "test"
Requires-Dist: flake8; extra == "test"
Requires-Dist: isort==5.10.1; extra == "test"
Requires-Dist: mypy==0.991; extra == "test"
Requires-Dist: pydantic<2.0; extra == "test"
Requires-Dist: pydocstyle==6.1.1; extra == "test"
Requires-Dist: pylint==2.15.10; extra == "test"
Requires-Dist: pylint-fixme-info; extra == "test"
Requires-Dist: pylint-pydantic; extra == "test"
Requires-Dist: pylint-pytest; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: PyYAML; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: types-requests; extra == "test"
Requires-Dist: types-setuptools; extra == "test"
Requires-Dist: types-PyYAML; extra == "test"
Provides-Extra: dev
Requires-Dist: autoflake; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: coverage==6.5.0; extra == "dev"
Requires-Dist: black==22.12.0; extra == "dev"
Requires-Dist: codespell==2.2.2; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: isort==5.10.1; extra == "dev"
Requires-Dist: mypy==0.991; extra == "dev"
Requires-Dist: pydantic<2.0; extra == "dev"
Requires-Dist: pydocstyle==6.1.1; extra == "dev"
Requires-Dist: pylint==2.15.10; extra == "dev"
Requires-Dist: pylint-fixme-info; extra == "dev"
Requires-Dist: pylint-pydantic; extra == "dev"
Requires-Dist: pylint-pytest; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: PyYAML; extra == "dev"
Requires-Dist: tox; extra == "dev"
Requires-Dist: types-requests; extra == "dev"
Requires-Dist: types-setuptools; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"

# Craft Grammar

This project aims to provide python interfaces for using advanced
grammar in [Craft Parts](https://craft-grammar.readthedocs.io)

# License

Free software: GNU Lesser General Public License v3

# Documentation:

https://craft-grammar.readthedocs.io.

# Contributing

A `Makefile` is provided for easy interaction with the project. To see
all available options run:

    make help

## Running tests

To run all tests in the suite run:

    make tests

## Adding new requirements

If a new dependency is added to the project run:

    make freeze-requirements

## Verifying documentation changes

To locally verify documentation changes run:

    make docs

After running, newly generated documentation shall be available at
`./docs/_build/html/`.

## Committing code

Please follow these guidelines when committing code for this project:

- Use a topic with a colon to start the subject
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Do not capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why (instead of how)

As an example:


    endpoints: support package attenuations

    Required in order to obtain credentials that apply only to a given package;
    be it charm, snap or bundle.
