Metadata-Version: 2.1
Name: lark2ldap
Version: 0.1.0
Summary: Django app,to sync feishu contacts to ldap.
Home-page: https://github.com/huangxy29/lark_to_ldap
License: MIT
Author: Huangxinyu
Author-email: huangxinyu.2991@gmail.com
Maintainer: Huangxinyu
Maintainer-email: huangxinyu.2991@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: django (>=3.2,<5.0)
Project-URL: Documentation, https://github.com/huangxy29/lark_to_ldap
Project-URL: Repository, https://github.com/huangxy29/lark_to_ldap
Description-Content-Type: text/markdown

# Poetry Template

Django app template, using `poetry-python` as dependency manager.

This project is a template that can be cloned and re-used for
redistributable apps.

It includes the following:

* `poetry` for dependency management
* `isort`, `black`, `pyupgrade` and `flake8` linting
* `pre-commit` to run linting
* `mypy` for type checking
* `tox` and Github Actions for builds and CI

There are default config files for the linting and mypy.

## Principles

The motivation for this project is to provide a consistent set of
standards across all YunoJuno public Python/Django projects. The
principles we want to encourage are:

* Simple for developers to get up-and-running
* Consistent style (`black`, `isort`, `flake8`)
* Future-proof (`pyupgrade`)
* Full type hinting (`mypy`)

## Versioning

We currently support Python 3.7+, and Django 3.2+. We will aggressively
upgrade Django versions, and we won't introduce hacks to support
breaking changes - if Django 4 introduces something that 2.2 doesn't
support we'll drop it.

## Tests

#### Tests package

The package tests themselves are _outside_ of the main library code, in
a package that is itself a Django app (it contains `models`, `settings`,
and any other artifacts required to run the tests (e.g. `urls`).) Where
appropriate, this test app may be runnable as a Django project - so that
developers can spin up the test app and see what admin screens look
like, test migrations, etc.

#### Running tests

The tests themselves use `pytest` as the test runner. If you have
installed the `poetry` evironment, you can run them thus:

```
$ poetry run pytest
```

or

```
$ poetry shell
(my_app) $ pytest
```

The full suite is controlled by `tox`, which contains a set of
environments that will format, lint, and test against all
support Python + Django version combinations.

```
$ tox
...
______________________ summary __________________________
  fmt: commands succeeded
  lint: commands succeeded
  mypy: commands succeeded
  py37-django22: commands succeeded
  py37-django32: commands succeeded
  py37-djangomain: commands succeeded
  py38-django22: commands succeeded
  py38-django32: commands succeeded
  py38-djangomain: commands succeeded
  py39-django22: commands succeeded
  py39-django32: commands succeeded
  py39-djangomain: commands succeeded
```

#### CI

There is a `.github/workflows/tox.yml` file that can be used as a
baseline to run all of the tests on Github. This file runs the oldest
(2.2), newest (3.2), and head of the main Django branch.

