diff --git a/.github/workflows/libvcs-ci.yml b/.github/workflows/tests.yml
similarity index 96%
rename from .github/workflows/libvcs-ci.yml
rename to .github/workflows/tests.yml
index 3b7d56751..1a1713042 100644
--- a/.github/workflows/libvcs-ci.yml
+++ b/.github/workflows/tests.yml
@@ -1,4 +1,4 @@
-name: libvcs CI
+name: tests
on: [push]
@@ -61,7 +61,7 @@ jobs:
run: poetry run python -m pip install pip -U
- name: Install dependencies
- run: poetry install -E "docs test coverage lint format deploy"
+ run: poetry install -E "docs test coverage lint format"
- name: Lint with flake8
run: poetry run flake8
diff --git a/.gitignore b/.gitignore
index 991b92c1c..2e03763d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,9 +80,3 @@ pip-wheel-metadata/
# Used by publish-docs.yml CI
.updated_files
-
-# mkdocs
-site/
-
-# vim
-.vim/
diff --git a/CHANGES b/CHANGES
index ef7e398d1..9e3179bd3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,7 +8,7 @@ Generally speaking, refactor / magic is in the process of being stripped
out in the next few releases. The API is subject to change significantly
in pre-1.0 builds.
-- [refactor] [#267](https://github.com/vcs-python/libvcs/pull/267) overhaul docs
+- [refactor] [#267] overhaul docs
- Move sphinx api format to Numpy-style
@@ -18,13 +18,20 @@ in pre-1.0 builds.
- Move from RTD to GitHub Action, full support of poetry extras packages, deploys straight to
S3 and CloudFront
+- [#270] Build and publish packages via poetry
+- [#270] Overhaul development docs
+
+[#270]: https://github.com/vcs-python/libvcs/pull/270
+[#267]: https://github.com/vcs-python/libvcs/pull/267
## libvcs 0.4.4 (2020-08-05)
-- `268` `libvcs.base.BaseRepo`:
+- [#268] `libvcs.base.BaseRepo`:
- no longer sets `**kwargs` to dictionary on the object
- remove `__slot__` and rename `name` attribute to `repo_name`
+[#268]: https://github.com/vcs-python/libvcs/pull/268
+
## libvcs 0.4.3 (2020-08-01)
- \[bug\] `libvcs.git.extract_status()` Fix issue capturing branch
@@ -112,12 +119,14 @@ avoid implicit behavior.
## libvcs 0.3.1 (2020-07-25)
- Fix issue with subprocess.Popen loud warning on Python 3.8
-- `296` - Move from Pipfile to poetry
+- [#296] - Move from Pipfile to poetry
- Sort imports
- Add isort package, isort configuration in setup.cfg, and
`make isort` task to Makefile.
- Add `project_urls` to setup.py
+[#296] https://github.com/vcs-python/libvcs/pull/296
+
## libvcs 0.3.0 (2018-03-12)
- Move vcspull to the vcs-python organization
@@ -137,8 +146,9 @@ avoid implicit behavior.
## libvcs 0.2.2 (2016-11-23)
-- Fix bug with unused `support` module in vcspull. See
- [\#43](https://github.com/vcs-python/vcspull/issues/43)
+- Fix bug with unused `support` module in vcspull. See [vcspull#43]
+
+[vcspull#43]: https://github.com/vcs-python/vcspull/pull/43
## libvcs 0.2.1 (2016-09-13)
@@ -150,11 +160,14 @@ avoid implicit behavior.
## libvcs 0.2.0 (2016-06-24)
-- `9` Support for `progress_callback` to use realtime output from
+- [#9] Support for `progress_callback` to use realtime output from
commands in progress (such as `git fetch`).
-- `9` More tests, internal factoring and documentation, thanks @jcfr
-- `9` Official support for pypy, pypy3
-- `11` : Fix unbound local when updating git repos
+- [#9] More tests, internal factoring and documentation, thanks @jcfr
+- [#9] Official support for pypy, pypy3
+- [#11] : Fix unbound local when updating git repos
+
+[#9]: https://github.com/vcs-python/libvcs/pull/9
+[#11]: https://github.com/vcs-python/libvcs/pull/11
## libvcs 0.1.7 (2016-06-21)
diff --git a/MANIFEST.in b/MANIFEST.in
index 2b1f5f783..9250f254a 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,2 @@
include README.md LICENSE CHANGES pyproject.toml .tmuxp.yaml
-include requirements/*.txt
recursive-include docs *.rst
diff --git a/Makefile b/Makefile
index 1773111cc..8e796b943 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
PY_FILES= find . -type f -not -path '*/\.*' | grep -i '.*[.]py$$' 2> /dev/null
DOC_FILES= find . -type f -not -path '*/\.*' | grep -i '.*[.]rst\$\|.*[.]md\$\|.*[.]css\$\|.*[.]py\$\|mkdocs\.yml\|CHANGES\|TODO\|.*conf\.py' 2> /dev/null
+SHELL := /bin/bash
entr_warn:
@@ -23,19 +24,19 @@ watch_test:
if command -v entr > /dev/null; then ${PY_FILES} | entr -c $(MAKE) test; else $(MAKE) test entr_warn; fi
build_docs:
- poetry run mkdocs build
+ $(MAKE) -C docs html
watch_docs:
if command -v entr > /dev/null; then ${DOC_FILES} | entr -c $(MAKE) build_docs; else $(MAKE) build_docs entr_warn; fi
serve_docs:
- python -m http.server --directory site
+ $(MAKE) -C docs serve
dev_docs:
$(MAKE) -j watch_docs serve_docs
flake8:
- flake8 libvcs tests
+ poetry run flake8
watch_flake8:
if command -v entr > /dev/null; then ${PY_FILES} | entr -c $(MAKE) flake8; else $(MAKE) flake8 entr_warn; fi
diff --git a/README.rst b/README.rst
index 8a7b3606d..ee932a697 100644
--- a/README.rst
+++ b/README.rst
@@ -2,7 +2,8 @@
|pypi| |docs| |build-status| |coverage| |license|
-Install:
+Setup
+-----
.. code-block:: sh
@@ -18,6 +19,8 @@ Open up python:
$ pip install ptpython
$ ptpython
+Usage
+-----
Create a `Repo`_ object of the project to inspect / checkout / update:
.. code-block:: python
@@ -50,7 +53,6 @@ Get revision:
Donations
---------
-
Your donations fund development of new features, testing and support.
Your money will go directly to maintenance and development of the project.
If you are an individual, feel free to give whatever feels right for the
@@ -60,33 +62,17 @@ See donation options at https://www.git-pull.com/support.html.
More information
----------------
-
-============== ==========================================================
-Python support Python 2.7, >= 3.4, pypy
-VCS supported git(1), svn(1), hg(1)
-Source https://github.com/vcs-python/libvcs
-Docs https://libvcs.git-pull.com
-Changelog https://libvcs.git-pull.com/history.html
-API https://libvcs.git-pull.com/api.html
-Issues https://github.com/vcs-python/libvcs/issues
-Test Coverage https://codecov.io/gh/vcs-python/libvcs
-pypi https://pypi.python.org/pypi/libvcs
-Open Hub https://www.openhub.net/p/libvcs
-License `MIT`_.
-git repo .. code-block:: bash
-
- $ git clone https://github.com/vcs-python/libvcs.git
-install dev .. code-block:: bash
-
- $ git clone https://github.com/vcs-python/libvcs.git libvcs
- $ cd ./libvcs
- $ virtualenv .venv
- $ source .venv/bin/activate
- $ pip install -e .
-tests .. code-block:: bash
-
- $ py.test
-============== ==========================================================
+- Python support: Python 2.7, >= 3.4, pypy
+- VCS supported: git(1), svn(1), hg(1)
+- Source: https://github.com/vcs-python/libvcs
+- Docs: https://libvcs.git-pull.com
+- Changelog: https://libvcs.git-pull.com/history.html
+- API: https://libvcs.git-pull.com/api.html
+- Issues: https://github.com/vcs-python/libvcs/issues
+- Test Coverage: https://codecov.io/gh/vcs-python/libvcs
+- pypi: https://pypi.python.org/pypi/libvcs
+- Open Hub: https://www.openhub.net/p/libvcs
+- License: `MIT`_.
.. _MIT: https://opensource.org/licenses/MIT
.. _Documentation: https://libvcs.git-pull.com/
@@ -99,13 +85,13 @@ tests .. code-block:: bash
:alt: Python Package
:target: http://badge.fury.io/py/libvcs
-.. |docs| image:: https://github.com/tony/libvcs/workflows/Publish%20Docs/badge.svg
+.. |docs| image:: https://github.com/vcs-python/libvcs/workflows/Publish%20Docs/badge.svg
:alt: Docs
:target: https://github.com/vcs-python/libvcs/actions?query=workflow%3A"Publish+Docs"
-.. |build-status| image:: https://github.com/tony/libvcs/workflows/libvcs%20CI/badge.svg
+.. |build-status| image:: https://github.com/vcs-python/libvcs/workflows/tests/badge.svg
:alt: Build Status
- :target: https://github.com/vcs-python/libvcs/actions?query=workflow%3A"libvcs+CI"
+ :target: https://github.com/vcs-python/libvcs/actions?query=workflow%3A"tests"
.. |coverage| image:: https://codecov.io/gh/vcs-python/libvcs/branch/master/graph/badge.svg
:alt: Code Coverage
diff --git a/docs/Makefile b/docs/Makefile
index 8279f6ed2..59e519ba1 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -159,7 +159,7 @@ checkbuild:
rm -rf $(BUILDDIR)
$(SPHINXBUILD) -n -q ./ $(BUILDDIR)
-WATCH_FILES= find .. -type f -not -path '*/\.*' | grep -i '.*[.]rst\$\|.*[.]py\$\|CHANGES\|TODO\|.*conf\.py' 2> /dev/null
+WATCH_FILES= find .. -type f -not -path '*/\.*' | grep -i '.*[.]rst\$\|.*[.].md\|.*[.]py\$\|CHANGES\|TODO\|.*conf\.py' 2> /dev/null
watch:
if command -v entr > /dev/null; then ${WATCH_FILES} | entr -c $(MAKE) html; else $(MAKE) html; fi
diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico
index 5c64e90c0..d90c1606b 100644
Binary files a/docs/_static/favicon.ico and b/docs/_static/favicon.ico differ
diff --git a/docs/conf.py b/docs/conf.py
index 3696fcbb3..813708aec 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,9 +1,14 @@
# -*- coding: utf-8 -*-
+import inspect
import os
+import sys
+from os.path import dirname, relpath
import alagitpull
from recommonmark.transform import AutoStructify
+import libvcs
+
# Get the project root dir, which is the parent dir of this
cwd = os.getcwd()
project_root = os.path.dirname(cwd)
@@ -128,3 +133,74 @@ def setup(app):
'py': ('https://docs.python.org/2', None),
'pip': ('http://pip.readthedocs.io/en/latest/', None),
}
+
+
+def linkcode_resolve(domain, info): # NOQA: C901
+ """
+ Determine the URL corresponding to Python object
+
+ Notes
+ -----
+ From https://github.com/numpy/numpy/blob/v1.15.1/doc/source/conf.py, 7c49cfa
+ on Jul 31. License BSD-3. https://github.com/numpy/numpy/blob/v1.15.1/LICENSE.txt
+ """
+ if domain != 'py':
+ return None
+
+ modname = info['module']
+ fullname = info['fullname']
+
+ submod = sys.modules.get(modname)
+ if submod is None:
+ return None
+
+ obj = submod
+ for part in fullname.split('.'):
+ try:
+ obj = getattr(obj, part)
+ except Exception:
+ return None
+
+ # strip decorators, which would resolve to the source of the decorator
+ # possibly an upstream bug in getsourcefile, bpo-1764286
+ try:
+ unwrap = inspect.unwrap
+ except AttributeError:
+ pass
+ else:
+ obj = unwrap(obj)
+
+ try:
+ fn = inspect.getsourcefile(obj)
+ except Exception:
+ fn = None
+ if not fn:
+ return None
+
+ try:
+ source, lineno = inspect.getsourcelines(obj)
+ except Exception:
+ lineno = None
+
+ if lineno:
+ linespec = "#L%d-L%d" % (lineno, lineno + len(source) - 1)
+ else:
+ linespec = ""
+
+ fn = relpath(fn, start=dirname(libvcs.__file__))
+
+ if 'dev' in about['__version__']:
+ return "%s/blob/master/%s/%s%s" % (
+ about['__github__'],
+ about['__package_name__'],
+ fn,
+ linespec,
+ )
+ else:
+ return "%s/blob/v%s/%s/%s%s" % (
+ about['__github__'],
+ about['__version__'],
+ about['__package_name__'],
+ fn,
+ linespec,
+ )
diff --git a/docs/developing.md b/docs/developing.md
index ee42b86ea..64d0a3bab 100644
--- a/docs/developing.md
+++ b/docs/developing.md
@@ -1,106 +1,60 @@
# Development
-## Testing
+[poetry] is a required package to develop.
-Our tests are inside `tests/`. Tests are implemented using
-[pytest](http://pytest.org/).
+`git clone https://github.com/vcs-python/libvcs.git`
-## Install the latest code from git
+`cd libvcs`
-### Using pip
+`poetry install -E "docs test coverage lint format"`
-To begin developing, check out the code from github:
+Makefile commands prefixed with `watch_` will watch files and rerun.
- $ git clone git@github.com:vcs-python/libvcs.git
- $ cd libvcs
+## Tests
-Now create a virtualenv, if you don't know how to, you can create a
-virtualenv with:
+`poetry run py.test`
- $ virtualenv .venv
+Helpers: `make test`
+Rerun tests on file change: `make watch_test` (requires [entr(1)])
-Then activate it to current tty / terminal session with:
+## Documentation
- $ source .venv/bin/activate
+Default preview server: http://localhost:8068
-Good! Now let's run this:
+`cd docs/` and `make html` to build. `make serve` to start http server.
- $ pip install -r requirements/test.txt -e .
+Helpers:
+`make build_docs`, `make serve_docs`
-This has `pip`, a python package manager install the python package in
-the current directory. `-e` means `--editable`, which means you can
-adjust the code and the installed software will reflect the changes.
+Rebuild docs on file change: `make watch_docs` (requires [entr(1)])
-### Using poetry
+Rebuild docs and run server via one terminal: `make dev_docs` (requires above, and a
+`make(1)` with `-J` support, e.g. GNU Make)
-To begin developing, check out the code from github:
+## Formatting / Linting
- $ git clone git@github.com:vcs-python/libvcs.git
- $ cd libvcs
+The project uses [black] and [isort] (one after the other) and runs [flake8] via
+CI. See the configuration in `pyproject.toml` and `setup.cfg`:
-You can create a virtualenv, and install all of the locked packages as
-listed in poetry.lock:
+`make black isort`: Run `black` first, then `isort` to handle import nuances
+`make flake8`, to watch (requires `entr(1)`): `make watch_flake8`
- $ poetry install
+## Releasing
-If you ever need to update packages during your development session, the
-following command can be used to update all packages as per poetry
-settings or individual package (second command):
+As of 0.10, [poetry] handles virtualenv creation, package requirements, versioning,
+building, and publishing. Therefore there is no setup.py or requirements files.
- $ poetry update
- $ poetry update requests
+Update `__version__` in `__about__.py` and `pyproject.toml`::
-Then activate it to your current tty / terminal session with:
+ git commit -m 'build(libvcs): Tag v0.1.1'
+ git tag v0.1.1
+ git push
+ git push --tags
+ poetry build
+ poetry deploy
- $ poetry shell
-
-That is it! You are now ready to code!
-
-## Test Runner
-
-As you seen above, the `libvcs` command will now be available to you,
-since you are in the virtual environment, your PATH environment was updated to include a
-special version of `python` inside your `.venv` folder with its own
-packages.
-
- $ make test
-
-You probably didn't see anything but tests scroll by.
-
-If you found a problem or are trying to write a test, you can file an
-[issue on github](https://github.com/vcs-python/libvcs/issues).
-
-#### Test runner options
-
-Test only a file:
-
- $ py.test tests/test_util.py
-
-will test the `tests/test_util.py` tests.
-
- $ py.test tests/test_util.py::test_mkdir_p
-
-tests `test_mkdir_p` inside of `tests/test_util.py`.
-
-Multiple can be separated by spaces:
-
- $ py.test tests/test_{git,svn}.py tests/test_util.py::test_mkdir_p
-
-## Docs
-
-Build docs to _site/_:
-
- $ make build_docs
-
-Serve docs from http://localhost:8000:
-
- $ make serve_docs
-
-Rebuild docs when files are edited (requires [`entr(1)`](http://eradman.com/entrproject/)):
-
- $ make watch_docs
-
-Serve + watch w/ rebuild (requires `make(1)` w/ `-j` support, usually GNU Make):
-
- $ make dev_docs
+[poetry]: https://python-poetry.org/
+[entr(1)]: http://eradman.com/entrproject/
+[black]: https://github.com/psf/black
+[isort]: https://pypi.org/project/isort/
+[flake8]: https://flake8.pycqa.org/
diff --git a/docs/index.md b/docs/index.md
deleted file mode 100644
index af9017929..000000000
--- a/docs/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# libvcs - vcs abstraction layer
-
-```eval_rst
-
-.. include:: ../README.rst
- :start-line: 4
-
-.. toctree::
- :maxdepth: 2
- :hidden:
-
- api
- developing
- history
-```
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 000000000..0e853603a
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,17 @@
+.. _index:
+
+libvcs - vcs abstraction layer
+==============================
+
+.. include:: ../README.rst
+ :start-line: 1
+
+Table of contents
+-----------------
+.. toctree::
+ :maxdepth: 2
+ :hidden:
+
+ api
+ developing
+ history
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index 04b4dec7d..000000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
--r ../requirements/doc.txt
diff --git a/libvcs/__about__.py b/libvcs/__about__.py
index c581f44e0..f23512781 100644
--- a/libvcs/__about__.py
+++ b/libvcs/__about__.py
@@ -1,7 +1,7 @@
__title__ = 'libvcs'
__package_name__ = 'libvcs'
__description__ = 'vcs abstraction layer'
-__version__ = '0.4.4'
+__version__ = '0.5.0a2'
__author__ = 'Tony Narlock'
__github__ = 'https://github.com/vcs-python/libvcs'
__docs__ = 'https://libvcs.git-pull.com'
diff --git a/poetry.lock b/poetry.lock
index 720a51e1e..fd8426e89 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -96,42 +96,19 @@ typed-ast = ">=1.4.0"
[package.extras]
d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
-[[package]]
-category = "dev"
-description = "An easy safelist-based HTML-sanitizing tool."
-name = "bleach"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "3.1.5"
-
-[package.dependencies]
-packaging = "*"
-six = ">=1.9.0"
-webencodings = "*"
-
[[package]]
category = "dev"
description = "Python package for providing Mozilla's CA Bundle."
+marker = "python_version < \"3\" or python_version >= \"3\""
name = "certifi"
optional = false
python-versions = "*"
version = "2020.6.20"
-[[package]]
-category = "dev"
-description = "Foreign Function Interface for Python calling C code."
-marker = "sys_platform == \"linux\""
-name = "cffi"
-optional = false
-python-versions = "*"
-version = "1.14.1"
-
-[package.dependencies]
-pycparser = "*"
-
[[package]]
category = "dev"
description = "Universal encoding detector for Python 2 and 3"
+marker = "python_version < \"3\" or python_version >= \"3\""
name = "chardet"
optional = false
python-versions = "*"
@@ -161,6 +138,7 @@ requests = ">=2.7.9"
[[package]]
category = "dev"
description = "Cross-platform colored terminal text."
+marker = "python_version < \"3\" and sys_platform == \"win32\" or python_version >= \"3\" and sys_platform == \"win32\""
name = "colorama"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
@@ -215,27 +193,6 @@ version = "5.2.1"
[package.extras]
toml = ["toml"]
-[[package]]
-category = "dev"
-description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
-marker = "sys_platform == \"linux\""
-name = "cryptography"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
-version = "3.0"
-
-[package.dependencies]
-cffi = ">=1.8,<1.11.3 || >1.11.3"
-six = ">=1.4.1"
-
-[package.extras]
-docs = ["sphinx (>=1.6.5,<1.8.0 || >1.8.0,<3.1.0 || >3.1.0,<3.1.1 || >3.1.1)", "sphinx-rtd-theme"]
-docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
-idna = ["idna (>=2.1)"]
-pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
-ssh = ["bcrypt (>=3.1.5)"]
-test = ["pytest (>=3.6.0,<3.9.0 || >3.9.0,<3.9.1 || >3.9.1,<3.9.2 || >3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,<3.79.2 || >3.79.2)"]
-
[[package]]
category = "dev"
description = "Docutils -- Python Documentation Utilities"
@@ -325,6 +282,7 @@ version = "3.3.0"
[[package]]
category = "dev"
description = "Internationalized Domain Names in Applications (IDNA)"
+marker = "python_version < \"3\" or python_version >= \"3\""
name = "idna"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
@@ -414,18 +372,6 @@ colors = ["colorama (>=0.4.3,<0.5.0)"]
pipfile_deprecated_finder = ["pipreqs", "requirementslib", "tomlkit (>=0.5.3)"]
requirements_deprecated_finder = ["pipreqs", "pip-api"]
-[[package]]
-category = "dev"
-description = "Low-level, pure Python DBus protocol wrapper."
-marker = "sys_platform == \"linux\""
-name = "jeepney"
-optional = false
-python-versions = ">=3.5"
-version = "0.4.3"
-
-[package.extras]
-dev = ["testpath"]
-
[[package]]
category = "dev"
description = "A very fast and expressive template engine."
@@ -441,27 +387,6 @@ MarkupSafe = ">=0.23"
[package.extras]
i18n = ["Babel (>=0.8)"]
-[[package]]
-category = "dev"
-description = "Store and access your passwords safely."
-name = "keyring"
-optional = false
-python-versions = ">=3.6"
-version = "21.3.0"
-
-[package.dependencies]
-SecretStorage = ">=3"
-jeepney = ">=0.4.2"
-pywin32-ctypes = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1"
-
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = "*"
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black (>=0.3.7)", "pytest-cov", "pytest-mypy"]
-
[[package]]
category = "dev"
description = "Safely add untrusted strings to HTML/XML markup."
@@ -524,6 +449,7 @@ version = "8.4.0"
[[package]]
category = "dev"
description = "Core utilities for Python packages"
+marker = "python_version < \"3\" or python_version >= \"3\""
name = "packaging"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
@@ -570,17 +496,6 @@ optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "0.8.0"
-[[package]]
-category = "dev"
-description = "Query metadatdata from sdists / bdists / installed packages."
-name = "pkginfo"
-optional = false
-python-versions = "*"
-version = "1.5.0.1"
-
-[package.extras]
-testing = ["nose", "coverage"]
-
[[package]]
category = "dev"
description = "plugin and hook calling mechanisms for python"
@@ -615,15 +530,6 @@ optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "2.6.0"
-[[package]]
-category = "dev"
-description = "C parser in Python"
-marker = "sys_platform == \"linux\""
-name = "pycparser"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "2.20"
-
[[package]]
category = "dev"
description = "passive checker of Python programs"
@@ -635,6 +541,7 @@ version = "2.2.0"
[[package]]
category = "dev"
description = "Pygments is a syntax highlighting package written in Python."
+marker = "python_version < \"3\""
name = "pygments"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
@@ -643,6 +550,7 @@ version = "2.5.2"
[[package]]
category = "dev"
description = "Pygments is a syntax highlighting package written in Python."
+marker = "python_version >= \"3\""
name = "pygments"
optional = false
python-versions = ">=3.5"
@@ -827,32 +735,6 @@ optional = false
python-versions = "*"
version = "2020.1"
-[[package]]
-category = "dev"
-description = ""
-marker = "sys_platform == \"win32\""
-name = "pywin32-ctypes"
-optional = false
-python-versions = "*"
-version = "0.2.0"
-
-[[package]]
-category = "dev"
-description = "readme_renderer is a library for rendering \"readme\" descriptions for Warehouse"
-name = "readme-renderer"
-optional = false
-python-versions = "*"
-version = "26.0"
-
-[package.dependencies]
-Pygments = ">=2.5.1"
-bleach = ">=2.1.0"
-docutils = ">=0.13.1"
-six = "*"
-
-[package.extras]
-md = ["cmarkgfm (>=0.2.0)"]
-
[[package]]
category = "dev"
description = "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects."
@@ -893,28 +775,6 @@ urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26"
security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"]
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
-[[package]]
-category = "dev"
-description = "A utility belt for advanced users of python-requests"
-name = "requests-toolbelt"
-optional = false
-python-versions = "*"
-version = "0.9.1"
-
-[package.dependencies]
-requests = ">=2.0.1,<3.0.0"
-
-[[package]]
-category = "dev"
-description = "Validating URI References per RFC 3986"
-name = "rfc3986"
-optional = false
-python-versions = "*"
-version = "1.4.0"
-
-[package.extras]
-idna2008 = ["idna"]
-
[[package]]
category = "dev"
description = "scandir, a better directory iterator and faster os.walk()"
@@ -924,22 +784,10 @@ optional = false
python-versions = "*"
version = "1.10.0"
-[[package]]
-category = "dev"
-description = "Python bindings to FreeDesktop.org Secret Service API"
-marker = "sys_platform == \"linux\""
-name = "secretstorage"
-optional = false
-python-versions = ">=3.5"
-version = "3.1.2"
-
-[package.dependencies]
-cryptography = "*"
-jeepney = ">=0.4.2"
-
[[package]]
category = "dev"
description = "Python 2 and 3 compatibility utilities"
+marker = "python_version < \"3\" or python_version >= \"3\" or python_version >= \"3\" and python_version < \"3.6\""
name = "six"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
@@ -1131,60 +979,6 @@ optional = false
python-versions = "*"
version = "0.10.1"
-[[package]]
-category = "dev"
-description = "Fast, Extensible Progress Meter"
-name = "tqdm"
-optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*"
-version = "4.48.2"
-
-[package.extras]
-dev = ["py-make (>=0.1.0)", "twine", "argopt", "pydoc-markdown"]
-
-[[package]]
-category = "dev"
-description = "Collection of utilities for publishing packages on PyPI"
-name = "twine"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.15.0"
-
-[package.dependencies]
-pkginfo = ">=1.4.2"
-readme-renderer = ">=21.0"
-requests = ">=2.5.0,<2.15 || >2.15,<2.16 || >2.16"
-requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0"
-setuptools = ">=0.7.0"
-tqdm = ">=4.14"
-
-[package.extras]
-keyring = ["keyring"]
-with-blake2 = ["pyblake2"]
-
-[[package]]
-category = "dev"
-description = "Collection of utilities for publishing packages on PyPI"
-name = "twine"
-optional = false
-python-versions = ">=3.6"
-version = "3.2.0"
-
-[package.dependencies]
-colorama = ">=0.4.3"
-keyring = ">=15.1"
-pkginfo = ">=1.4.2"
-readme-renderer = ">=21.0"
-requests = ">=2.20"
-requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0"
-rfc3986 = ">=1.4.0"
-setuptools = ">=0.7.0"
-tqdm = ">=4.14"
-
-[package.dependencies.importlib-metadata]
-python = "<3.8"
-version = "*"
-
[[package]]
category = "dev"
description = "a fork of Python 2 and 3 ast modules with type comment support"
@@ -1206,6 +1000,7 @@ version = "3.7.4.3"
[[package]]
category = "dev"
description = "HTTP library with thread-safe connection pooling, file post, and more."
+marker = "python_version < \"3\" or python_version >= \"3\""
name = "urllib3"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
@@ -1230,14 +1025,6 @@ version = "0.2.5"
python = "<3.2"
version = ">=1.2.1"
-[[package]]
-category = "dev"
-description = "Character encoding aliases for legacy web content"
-name = "webencodings"
-optional = false
-python-versions = "*"
-version = "0.5.1"
-
[[package]]
category = "dev"
description = "Backport of pathlib-compatible object wrapper for zip files"
@@ -1271,14 +1058,13 @@ testing = ["jaraco.itertools", "func-timeout"]
[extras]
coverage = []
-deploy = []
docs = []
format = []
lint = []
test = []
[metadata]
-content-hash = "d77b2d26f55bf376802e5546d258bd1ac0b5195b3f389dc58946d527a7e6ff23"
+content-hash = "0730c649b0f54101ee02a529ae9483a15bba3aa327830c04e9a4f1d0e0e47fea"
lock-version = "1.0"
python-versions = "~2.7 || ^3.5"
@@ -1315,44 +1101,10 @@ black = [
{file = "black-19.10b0-py36-none-any.whl", hash = "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b"},
{file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"},
]
-bleach = [
- {file = "bleach-3.1.5-py2.py3-none-any.whl", hash = "sha256:2bce3d8fab545a6528c8fa5d9f9ae8ebc85a56da365c7f85180bfe96a35ef22f"},
- {file = "bleach-3.1.5.tar.gz", hash = "sha256:3c4c520fdb9db59ef139915a5db79f8b51bc2a7257ea0389f30c846883430a4b"},
-]
certifi = [
{file = "certifi-2020.6.20-py2.py3-none-any.whl", hash = "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"},
{file = "certifi-2020.6.20.tar.gz", hash = "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3"},
]
-cffi = [
- {file = "cffi-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:66dd45eb9530e3dde8f7c009f84568bc7cac489b93d04ac86e3111fb46e470c2"},
- {file = "cffi-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:4f53e4128c81ca3212ff4cf097c797ab44646a40b42ec02a891155cd7a2ba4d8"},
- {file = "cffi-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:833401b15de1bb92791d7b6fb353d4af60dc688eaa521bd97203dcd2d124a7c1"},
- {file = "cffi-1.14.1-cp27-cp27m-win32.whl", hash = "sha256:26f33e8f6a70c255767e3c3f957ccafc7f1f706b966e110b855bfe944511f1f9"},
- {file = "cffi-1.14.1-cp27-cp27m-win_amd64.whl", hash = "sha256:b87dfa9f10a470eee7f24234a37d1d5f51e5f5fa9eeffda7c282e2b8f5162eb1"},
- {file = "cffi-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:effd2ba52cee4ceff1a77f20d2a9f9bf8d50353c854a282b8760ac15b9833168"},
- {file = "cffi-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bac0d6f7728a9cc3c1e06d4fcbac12aaa70e9379b3025b27ec1226f0e2d404cf"},
- {file = "cffi-1.14.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d6033b4ffa34ef70f0b8086fd4c3df4bf801fee485a8a7d4519399818351aa8e"},
- {file = "cffi-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:8416ed88ddc057bab0526d4e4e9f3660f614ac2394b5e019a628cdfff3733849"},
- {file = "cffi-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:892daa86384994fdf4856cb43c93f40cbe80f7f95bb5da94971b39c7f54b3a9c"},
- {file = "cffi-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:c991112622baee0ae4d55c008380c32ecfd0ad417bcd0417ba432e6ba7328caa"},
- {file = "cffi-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fcf32bf76dc25e30ed793145a57426064520890d7c02866eb93d3e4abe516948"},
- {file = "cffi-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f960375e9823ae6a07072ff7f8a85954e5a6434f97869f50d0e41649a1c8144f"},
- {file = "cffi-1.14.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a6d28e7f14ecf3b2ad67c4f106841218c8ab12a0683b1528534a6c87d2307af3"},
- {file = "cffi-1.14.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:cda422d54ee7905bfc53ee6915ab68fe7b230cacf581110df4272ee10462aadc"},
- {file = "cffi-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:4a03416915b82b81af5502459a8a9dd62a3c299b295dcdf470877cb948d655f2"},
- {file = "cffi-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:4ce1e995aeecf7cc32380bc11598bfdfa017d592259d5da00fc7ded11e61d022"},
- {file = "cffi-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e23cb7f1d8e0f93addf0cae3c5b6f00324cccb4a7949ee558d7b6ca973ab8ae9"},
- {file = "cffi-1.14.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ddff0b2bd7edcc8c82d1adde6dbbf5e60d57ce985402541cd2985c27f7bec2a0"},
- {file = "cffi-1.14.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f90c2267101010de42f7273c94a1f026e56cbc043f9330acd8a80e64300aba33"},
- {file = "cffi-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:3cd2c044517f38d1b577f05927fb9729d3396f1d44d0c659a445599e79519792"},
- {file = "cffi-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fa72a52a906425416f41738728268072d5acfd48cbe7796af07a923236bcf96"},
- {file = "cffi-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:267adcf6e68d77ba154334a3e4fc921b8e63cbb38ca00d33d40655d4228502bc"},
- {file = "cffi-1.14.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:d3148b6ba3923c5850ea197a91a42683f946dba7e8eb82dfa211ab7e708de939"},
- {file = "cffi-1.14.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:98be759efdb5e5fa161e46d404f4e0ce388e72fbf7d9baf010aff16689e22abe"},
- {file = "cffi-1.14.1-cp38-cp38-win32.whl", hash = "sha256:6923d077d9ae9e8bacbdb1c07ae78405a9306c8fd1af13bfa06ca891095eb995"},
- {file = "cffi-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:b1d6ebc891607e71fd9da71688fcf332a6630b7f5b7f5549e6e631821c0e5d90"},
- {file = "cffi-1.14.1.tar.gz", hash = "sha256:b2a2b0d276a136146e012154baefaea2758ef1f56ae9f4e01c612b0831e0bd2f"},
-]
chardet = [
{file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"},
{file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"},
@@ -1418,27 +1170,6 @@ coverage = [
{file = "coverage-5.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:b8f58c7db64d8f27078cbf2a4391af6aa4e4767cc08b37555c4ae064b8558d9b"},
{file = "coverage-5.2.1.tar.gz", hash = "sha256:a34cb28e0747ea15e82d13e14de606747e9e484fb28d63c999483f5d5188e89b"},
]
-cryptography = [
- {file = "cryptography-3.0-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:ab49edd5bea8d8b39a44b3db618e4783ef84c19c8b47286bf05dfdb3efb01c83"},
- {file = "cryptography-3.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:124af7255ffc8e964d9ff26971b3a6153e1a8a220b9a685dc407976ecb27a06a"},
- {file = "cryptography-3.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:51e40123083d2f946794f9fe4adeeee2922b581fa3602128ce85ff813d85b81f"},
- {file = "cryptography-3.0-cp27-cp27m-win32.whl", hash = "sha256:dea0ba7fe6f9461d244679efa968d215ea1f989b9c1957d7f10c21e5c7c09ad6"},
- {file = "cryptography-3.0-cp27-cp27m-win_amd64.whl", hash = "sha256:8ecf9400d0893836ff41b6f977a33972145a855b6efeb605b49ee273c5e6469f"},
- {file = "cryptography-3.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c608ff4d4adad9e39b5057de43657515c7da1ccb1807c3a27d4cf31fc923b4b"},
- {file = "cryptography-3.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:bec7568c6970b865f2bcebbe84d547c52bb2abadf74cefce396ba07571109c67"},
- {file = "cryptography-3.0-cp35-abi3-macosx_10_10_x86_64.whl", hash = "sha256:0cbfed8ea74631fe4de00630f4bb592dad564d57f73150d6f6796a24e76c76cd"},
- {file = "cryptography-3.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:a09fd9c1cca9a46b6ad4bea0a1f86ab1de3c0c932364dbcf9a6c2a5eeb44fa77"},
- {file = "cryptography-3.0-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:ce82cc06588e5cbc2a7df3c8a9c778f2cb722f56835a23a68b5a7264726bb00c"},
- {file = "cryptography-3.0-cp35-cp35m-win32.whl", hash = "sha256:9367d00e14dee8d02134c6c9524bb4bd39d4c162456343d07191e2a0b5ec8b3b"},
- {file = "cryptography-3.0-cp35-cp35m-win_amd64.whl", hash = "sha256:384d7c681b1ab904fff3400a6909261cae1d0939cc483a68bdedab282fb89a07"},
- {file = "cryptography-3.0-cp36-cp36m-win32.whl", hash = "sha256:4d355f2aee4a29063c10164b032d9fa8a82e2c30768737a2fd56d256146ad559"},
- {file = "cryptography-3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:45741f5499150593178fc98d2c1a9c6722df88b99c821ad6ae298eff0ba1ae71"},
- {file = "cryptography-3.0-cp37-cp37m-win32.whl", hash = "sha256:8ecef21ac982aa78309bb6f092d1677812927e8b5ef204a10c326fc29f1367e2"},
- {file = "cryptography-3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4b9303507254ccb1181d1803a2080a798910ba89b1a3c9f53639885c90f7a756"},
- {file = "cryptography-3.0-cp38-cp38-win32.whl", hash = "sha256:8713ddb888119b0d2a1462357d5946b8911be01ddbf31451e1d07eaa5077a261"},
- {file = "cryptography-3.0-cp38-cp38-win_amd64.whl", hash = "sha256:bea0b0468f89cdea625bb3f692cd7a4222d80a6bdafd6fb923963f2b9da0e15f"},
- {file = "cryptography-3.0.tar.gz", hash = "sha256:8e924dbc025206e97756e8903039662aa58aa9ba357d8e1d8fc29e3092322053"},
-]
docutils = [
{file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
{file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
@@ -1489,18 +1220,10 @@ isort = [
{file = "isort-5.3.2-py3-none-any.whl", hash = "sha256:5196bd2f5b23dc91215734b1c96c6d28390061d69860a948094c12635d6d64e6"},
{file = "isort-5.3.2.tar.gz", hash = "sha256:ba83762132a8661d3525f87a86549712fb7d8da79eeb452e01f327ada9e87920"},
]
-jeepney = [
- {file = "jeepney-0.4.3-py3-none-any.whl", hash = "sha256:d6c6b49683446d2407d2fe3acb7a368a77ff063f9182fe427da15d622adc24cf"},
- {file = "jeepney-0.4.3.tar.gz", hash = "sha256:3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e"},
-]
jinja2 = [
{file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"},
{file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"},
]
-keyring = [
- {file = "keyring-21.3.0-py3-none-any.whl", hash = "sha256:e7a17caf40c40b6bb8c4772224a487e4a63013560ed0c521065aeba7ecd42182"},
- {file = "keyring-21.3.0.tar.gz", hash = "sha256:22df6abfed49912fc560806030051067fba9f0069cffa79da72899aeea4ccbd5"},
-]
markupsafe = [
{file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
@@ -1565,10 +1288,6 @@ pathspec = [
{file = "pathspec-0.8.0-py2.py3-none-any.whl", hash = "sha256:7d91249d21749788d07a2d0f94147accd8f845507400749ea19c1ec9054a12b0"},
{file = "pathspec-0.8.0.tar.gz", hash = "sha256:da45173eb3a6f2a5a487efba21f050af2b41948be6ab52b6a1e3ff22bb8b7061"},
]
-pkginfo = [
- {file = "pkginfo-1.5.0.1-py2.py3-none-any.whl", hash = "sha256:a6d9e40ca61ad3ebd0b72fbadd4fba16e4c0e4df0428c041e01e06eb6ee71f32"},
- {file = "pkginfo-1.5.0.1.tar.gz", hash = "sha256:7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb"},
-]
pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
@@ -1581,10 +1300,6 @@ pycodestyle = [
{file = "pycodestyle-2.6.0-py2.py3-none-any.whl", hash = "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367"},
{file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
]
-pycparser = [
- {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
- {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
-]
pyflakes = [
{file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"},
{file = "pyflakes-2.2.0.tar.gz", hash = "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"},
@@ -1627,14 +1342,6 @@ pytz = [
{file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"},
{file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"},
]
-pywin32-ctypes = [
- {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"},
- {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"},
-]
-readme-renderer = [
- {file = "readme_renderer-26.0-py2.py3-none-any.whl", hash = "sha256:cc4957a803106e820d05d14f71033092537a22daa4f406dfbdd61177e0936376"},
- {file = "readme_renderer-26.0.tar.gz", hash = "sha256:cbe9db71defedd2428a1589cdc545f9bd98e59297449f69d721ef8f1cfced68d"},
-]
recommonmark = [
{file = "recommonmark-0.6.0-py2.py3-none-any.whl", hash = "sha256:2ec4207a574289355d5b6ae4ae4abb29043346ca12cdd5f07d374dc5987d2852"},
{file = "recommonmark-0.6.0.tar.gz", hash = "sha256:29cd4faeb6c5268c633634f2d69aef9431e0f4d347f90659fd0aab20e541efeb"},
@@ -1666,14 +1373,6 @@ requests = [
{file = "requests-2.24.0-py2.py3-none-any.whl", hash = "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"},
{file = "requests-2.24.0.tar.gz", hash = "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b"},
]
-requests-toolbelt = [
- {file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"},
- {file = "requests_toolbelt-0.9.1-py2.py3-none-any.whl", hash = "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f"},
-]
-rfc3986 = [
- {file = "rfc3986-1.4.0-py2.py3-none-any.whl", hash = "sha256:af9147e9aceda37c91a05f4deb128d4b4b49d6b199775fd2d2927768abdc8f50"},
- {file = "rfc3986-1.4.0.tar.gz", hash = "sha256:112398da31a3344dc25dbf477d8df6cb34f9278a94fee2625d89e4514be8bb9d"},
-]
scandir = [
{file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"},
{file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"},
@@ -1687,10 +1386,6 @@ scandir = [
{file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"},
{file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"},
]
-secretstorage = [
- {file = "SecretStorage-3.1.2-py3-none-any.whl", hash = "sha256:b5ec909dde94d4ae2fa26af7c089036997030f0cf0a5cb372b4cccabd81c143b"},
- {file = "SecretStorage-3.1.2.tar.gz", hash = "sha256:15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6"},
-]
six = [
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
@@ -1741,16 +1436,6 @@ toml = [
{file = "toml-0.10.1-py2.py3-none-any.whl", hash = "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"},
{file = "toml-0.10.1.tar.gz", hash = "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f"},
]
-tqdm = [
- {file = "tqdm-4.48.2-py2.py3-none-any.whl", hash = "sha256:1a336d2b829be50e46b84668691e0a2719f26c97c62846298dd5ae2937e4d5cf"},
- {file = "tqdm-4.48.2.tar.gz", hash = "sha256:564d632ea2b9cb52979f7956e093e831c28d441c11751682f84c86fc46e4fd21"},
-]
-twine = [
- {file = "twine-1.15.0-py2.py3-none-any.whl", hash = "sha256:630fadd6e342e725930be6c696537e3f9ccc54331742b16245dab292a17d0460"},
- {file = "twine-1.15.0.tar.gz", hash = "sha256:a3d22aab467b4682a22de4a422632e79d07eebd07ff2a7079effb13f8a693787"},
- {file = "twine-3.2.0-py3-none-any.whl", hash = "sha256:ba9ff477b8d6de0c89dd450e70b2185da190514e91c42cc62f96850025c10472"},
- {file = "twine-3.2.0.tar.gz", hash = "sha256:34352fd52ec3b9d29837e6072d5a2a7c6fe4290e97bba46bb8d478b5c598f7ab"},
-]
typed-ast = [
{file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"},
{file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"},
@@ -1786,10 +1471,6 @@ wcwidth = [
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
{file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
]
-webencodings = [
- {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
- {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
-]
zipp = [
{file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"},
{file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"},
diff --git a/pyproject.toml b/pyproject.toml
index 132f8c0ad..572fda74f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ skip-string-normalization = true
[tool.poetry]
name = "libvcs"
-version = "0.4.4"
+version = "0.5.0a2"
description = "vcs abstraction layer"
license = "MIT"
authors = ["Tony Narlock "]
@@ -23,10 +23,16 @@ classifiers = [
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Utilities",
- "Topic :: System :: Shells"]
+ "Topic :: System :: Shells"
+]
homepage = "http://github.com/vcs-python/libvcs/"
readme = "README.rst"
+[tool.poetry.urls]
+"Bug Tracker" = "https://github.com/vcs-python/libvcs/issues"
+Documentation = "https://libvcs.git-pull.com"
+Repository = "https://github.com/vcs-python/libvcs"
+
[tool.poetry.dependencies]
python = "~2.7 || ^3.5"
@@ -70,13 +76,9 @@ isort = [
### Lint ###
flake8 = "*"
-### Deploy ###
-twine = "*"
-
[tool.poetry.extras]
docs = ["sphinx", "recommonmark", "sphinx-issues", "alagitpull"]
test = ["pytest", "pathlib2", "pytest-rerunfailures", "pytest-mock"]
coverage = ["codecov", "coverage", "pytest-cov"]
format = ["black", "isort"]
lint = ["flake8"]
-deploy = ["deploy"]
diff --git a/requirements/base.txt b/requirements/base.txt
deleted file mode 100644
index 8b1378917..000000000
--- a/requirements/base.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/requirements/dev.txt b/requirements/dev.txt
deleted file mode 100644
index 55161885b..000000000
--- a/requirements/dev.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-flake8==3.7.7
-isort<=4.4;python_version<'3.6'
-isort>=5;python_version>='3.6'
diff --git a/requirements/doc.txt b/requirements/doc.txt
deleted file mode 100644
index f8e9b3689..000000000
--- a/requirements/doc.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--r ./base.txt
-sphinx>=2.0.0
-alagitpull>=0.0.24
-sphinx_issues==1.2.0
diff --git a/requirements/test.txt b/requirements/test.txt
deleted file mode 100644
index 29d785715..000000000
--- a/requirements/test.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-pytest<6
-pytest-mock<2
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 5d8a10d35..000000000
--- a/setup.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""libvcs lives at ."""
-from setuptools import setup
-
-about = {}
-with open("libvcs/__about__.py") as fp:
- exec(fp.read(), about)
-
-with open('requirements/base.txt') as f:
- install_reqs = [line for line in f.read().split('\n') if line]
-
-with open('requirements/test.txt') as f:
- tests_reqs = [line for line in f.read().split('\n') if line]
-
-readme = open('README.rst').read()
-history = open('CHANGES').read().replace('.. :changelog:', '')
-
-
-setup(
- name=about['__title__'],
- version=about['__version__'],
- url='http://github.com/vcs-python/libvcs/',
- download_url='https://pypi.python.org/pypi/libvcs',
- project_urls={
- 'Documentation': about['__docs__'],
- 'Code': about['__github__'],
- 'Issue tracker': about['__tracker__'],
- },
- license=about['__license__'],
- author=about['__author__'],
- author_email=about['__email__'],
- description=about['__description__'],
- long_description=readme,
- include_package_data=True,
- install_requires=install_reqs,
- tests_require=tests_reqs,
- zip_safe=False,
- keywords=about['__title__'],
- packages=['libvcs'],
- classifiers=[
- 'Development Status :: 4 - Beta',
- 'License :: OSI Approved :: MIT License',
- 'Environment :: Web Environment',
- 'Intended Audience :: Developers',
- 'Operating System :: POSIX',
- 'Operating System :: MacOS :: MacOS X',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: Implementation :: PyPy',
- 'Topic :: Utilities',
- 'Topic :: System :: Shells',
- ],
-)