semvec/pypi-packages huggingface dataset:
libpy-agms 0.1.0a0
A Python microframework with a focus on developer productivity and code testability
License: MIT
Requires Python: >=3.7,<4.0
Keywords: microservices,microframework

# agms

A Python microframework with a focus on developer productivity and code testability.

Performance is not a current focus of `agms` but always something we strive for. Anyway if you're experiencing any performance problem then feel free to open an issue in our tracker and we will do our best to help you.


## Installation

To install from PyPI run:

```shell
pip install -i $ARTIFACTORY_PYPI_INDEX -U agms
```

## Contributing

### Repository

```shell
git clone git@gitlab.com:autogregator/libpy-agms.git
```

### Environment configuration

At first, set some environment variables to simplify the next steps:

- **ARTIFACTORY_USERNAME**
- **ARTIFACTORY_PASSWORD**

**ARTIFACTORY_USERNAME** and **ARTIFACTORY_PASSWORD** will be used to install PandaDoc internal Python packages. You can get your credentials [here](https://pandadoc.jfrog.io/pandadoc/webapp/#/profile).

### Dependencies installation

This project uses:

- [`poetry`](https://python-poetry.org/docs/) — to manage Python project (install dependencies, run tests and linters);
- [`docker`](https://www.docker.com/) — to run external services like databases, caches, etc.

Install Python dependencies:

```shell
make install
```

Run all required external services using `docker-compose`:

```shell
make docker-up
```

### Formatters, linters and tests

To format code use command below:

```shell
make fmt
```

To run linters use command below:

```shell
# to run all linters
make lint

# to run a particular linter you want
make lint-flake8
```

To run tests use command below:

```shell
make test
```

### Guidelines

- for any change you want to introduce you _MUST_ create a ticket in our [issue tracker](http://gitlab.pandadoc.com/platform/packages/libpy-agms/issues);
- branch with your changes _MUST_ be named according to the format: `^\d+-[a-zA-Z\d-]+$`. Example: `130-contribution-guidelines`;
- commit message _MUST_ follow the format: `^(feat|fix|docs|style|refactor|test|chore): .* #\d+`. Example: `docs: add contribution guidelines #130`;
- tests _MUST_ be added to prove that your fix is effective or that your feature works;
- necessary documentation _MUST_ be added/updated (if applicable).

## Releasing

To release a new version of the package use command below:

```shell
make release
```