Metadata-Version: 2.1
Name: social-auth-mitxpro
Version: 0.4
Summary: python-social-auth backend for mitxpro
Home-page: https://pypi.org/project/social-auth-mitxpro
License: MIT
Author: MIT Office of Open Learning
Author-email: mitx-devops@mit.edu
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.6.*, !=3.7.*
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: attrs (==19.3.0)
Requires-Dist: social-auth-core (>=1.7.0,<2.0.0)
Project-URL: Repository, https://github.com/mitodl/social-auth-mitxpro/
Description-Content-Type: text/markdown


social-auth-mitxpro
---


#### Prerequisites

- [`pyenv`](https://github.com/pyenv/pyenv#installation) for managing python versions
  - Install `python3.6` and `python2.7`
- `pip install tox tox-pyenv` for running tests and discovering python versions from `pyenv`
- [`poetry`](https://poetry.eustace.io/docs/#installation) for building, testing, and releasing

If this is your first time using `poetry`, you'll need to configure your pypi credentials via:
- Configure pypi repository:
  - `poetry config http-basic.pypi USERNAME PASSWORD`
- Configure testpypi repository:
  - `poetry config repositories.testpypi https://test.pypi.org/legacy`
  - `poetry config http-basic.testpypi USERNAME PASSWORD`

**NOTE:** when running `poetry` commands, particularly `pylint` and `black`, you must `python3.6`

#### Testing

You can just run `tox` locally to test, lint, and check formatting in the supported python versions. This works by having `tox` manage the virtualenvs, which `poetry` then detects and uses. Note that some of the tools (e.g. `pylint`, `black`) only support running in `python3.6` and this is reflected in `tox.ini`.

Run individual commands can be run interactively in a `poetry shell` session or directly via `poetry run CMD`:

- `pytest` - run python tests
- `pylint` - lint python code
- `black .` - format python code

#### Building

- `poetry build` - builds a pip-installable package into `dist/`

#### Releasing

- `poetry version VERSION` - bump the project version (see `poetry version --help` for details)
- `poetry publish -r testpypi` - publish to testpypi
- `poetry publish` - publish to pypi

