fix(order_utils.py): tweaks for first publish (#1185)
This commit is contained in:
parent
4c5b26db18
commit
0f63071696
13
python-packages/order_utils/LICENSE
Normal file
13
python-packages/order_utils/LICENSE
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Copyright 2017 ZeroEx Inc.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
45
python-packages/order_utils/README.md
Normal file
45
python-packages/order_utils/README.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
## 0x-order-utils
|
||||||
|
|
||||||
|
0x order-related utilities for those developing on top of 0x protocol.
|
||||||
|
|
||||||
|
Read the [documentation](https://0x.readthedocs.io/projects/order-utils/en/latest/)
|
||||||
|
|
||||||
|
## Installing
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install 0x-order-utils
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
|
||||||
|
|
||||||
|
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
|
||||||
|
|
||||||
|
### Install Code and Dependencies
|
||||||
|
|
||||||
|
Ensure that you have Python >=3.6 installed, then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -e .[dev]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test
|
||||||
|
|
||||||
|
`./setup.py test`
|
||||||
|
|
||||||
|
### Clean
|
||||||
|
|
||||||
|
`./setup.py clean --all`
|
||||||
|
|
||||||
|
### Lint
|
||||||
|
|
||||||
|
`./setup.py lint`
|
||||||
|
|
||||||
|
### Build Documentation
|
||||||
|
|
||||||
|
`./setup.py build_sphinx`
|
||||||
|
|
||||||
|
### More
|
||||||
|
|
||||||
|
See `./setup.py --help-commands` for more info.
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import subprocess # nosec
|
import subprocess # nosec
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
from os import environ, path, remove, walk
|
from os import environ, path
|
||||||
from sys import argv
|
from sys import argv
|
||||||
|
|
||||||
from distutils.command.clean import clean
|
from distutils.command.clean import clean
|
||||||
@ -27,6 +27,8 @@ class TestCommandExtension(TestCommand):
|
|||||||
class LintCommand(distutils.command.build_py.build_py):
|
class LintCommand(distutils.command.build_py.build_py):
|
||||||
"""Custom setuptools command class for running linters."""
|
"""Custom setuptools command class for running linters."""
|
||||||
|
|
||||||
|
description = "Run linters"
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
"""Run linter shell commands."""
|
"""Run linter shell commands."""
|
||||||
lint_commands = [
|
lint_commands = [
|
||||||
@ -73,31 +75,64 @@ class CleanCommandExtension(clean):
|
|||||||
def run(self):
|
def run(self):
|
||||||
"""Run the regular clean, followed by our custom commands."""
|
"""Run the regular clean, followed by our custom commands."""
|
||||||
super().run()
|
super().run()
|
||||||
rmtree("build", ignore_errors=True)
|
rmtree("dist", ignore_errors=True)
|
||||||
rmtree(".mypy_cache", ignore_errors=True)
|
rmtree(".mypy_cache", ignore_errors=True)
|
||||||
rmtree(".tox", ignore_errors=True)
|
rmtree(".tox", ignore_errors=True)
|
||||||
rmtree(".pytest_cache", ignore_errors=True)
|
rmtree(".pytest_cache", ignore_errors=True)
|
||||||
rmtree("src/order_utils.egg-info", ignore_errors=True)
|
rmtree("src/order_utils.egg-info", ignore_errors=True)
|
||||||
# delete all .pyc files
|
|
||||||
for root, _, files in walk("."):
|
|
||||||
for file in files:
|
# pylint: disable=too-many-ancestors
|
||||||
(_, extension) = path.splitext(file)
|
class TestPublishCommand(distutils.command.build_py.build_py):
|
||||||
if extension == ".pyc":
|
"""Custom command to publish to test.pypi.org."""
|
||||||
remove(path.join(root, file))
|
|
||||||
|
description = (
|
||||||
|
"Publish dist/* to test.pypi.org. Run sdist & bdist_wheel first."
|
||||||
|
)
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Run twine to upload to test.pypi.org."""
|
||||||
|
subprocess.check_call( # nosec
|
||||||
|
(
|
||||||
|
"twine upload --repository-url https://test.pypi.org/legacy/"
|
||||||
|
+ " --verbose dist/*"
|
||||||
|
).split()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=too-many-ancestors
|
||||||
|
class PublishCommand(distutils.command.build_py.build_py):
|
||||||
|
"""Custom command to publish to pypi.org."""
|
||||||
|
|
||||||
|
description = "Publish dist/* to pypi.org. Run sdist & bdist_wheel first."
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
"""Run twine to upload to pypi.org."""
|
||||||
|
subprocess.check_call("twine upload dist/*".split()) # nosec
|
||||||
|
|
||||||
|
|
||||||
|
with open("README.md", "r") as file_handle:
|
||||||
|
README_MD = file_handle.read()
|
||||||
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="order_utils",
|
name="0x-order-utils",
|
||||||
version="1.0.0",
|
version="0.1.0",
|
||||||
description="Order utilities for 0x applications",
|
description="Order utilities for 0x applications",
|
||||||
|
long_description=README_MD,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
url="https://github.com/0xproject/0x-monorepo/python-packages/order_utils",
|
||||||
author="F. Eugene Aumson",
|
author="F. Eugene Aumson",
|
||||||
|
author_email="feuGeneA@users.noreply.github.com",
|
||||||
cmdclass={
|
cmdclass={
|
||||||
"clean": CleanCommandExtension,
|
"clean": CleanCommandExtension,
|
||||||
"lint": LintCommand,
|
"lint": LintCommand,
|
||||||
"test": TestCommandExtension,
|
"test": TestCommandExtension,
|
||||||
|
"test_publish": TestPublishCommand,
|
||||||
|
"publish": PublishCommand,
|
||||||
},
|
},
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
install_requires=["eth-abi", "web3"],
|
install_requires=["eth-abi", "mypy_extensions", "web3"],
|
||||||
extras_require={
|
extras_require={
|
||||||
"dev": [
|
"dev": [
|
||||||
"bandit",
|
"bandit",
|
||||||
@ -112,6 +147,7 @@ setup(
|
|||||||
"pytest",
|
"pytest",
|
||||||
"sphinx",
|
"sphinx",
|
||||||
"tox",
|
"tox",
|
||||||
|
"twine",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
python_requires=">=3.6, <4",
|
python_requires=">=3.6, <4",
|
||||||
@ -121,9 +157,10 @@ setup(
|
|||||||
keywords=(
|
keywords=(
|
||||||
"ethereum cryptocurrency 0x decentralized blockchain dex exchange"
|
"ethereum cryptocurrency 0x decentralized blockchain dex exchange"
|
||||||
),
|
),
|
||||||
packages=["zero_ex.order_utils"],
|
namespace_packages=["zero_ex"],
|
||||||
|
packages=["zero_ex.order_utils", "zero_ex.dev_utils"],
|
||||||
classifiers=[
|
classifiers=[
|
||||||
"Development Status :: 1 - Planning",
|
"Development Status :: 2 - Pre-Alpha",
|
||||||
"Intended Audience :: Developers",
|
"Intended Audience :: Developers",
|
||||||
"Intended Audience :: Financial and Insurance Industry",
|
"Intended Audience :: Financial and Insurance Industry",
|
||||||
"License :: OSI Approved :: Apache Software License",
|
"License :: OSI Approved :: Apache Software License",
|
||||||
@ -133,7 +170,10 @@ setup(
|
|||||||
"Programming Language :: Python :: 3 :: Only",
|
"Programming Language :: Python :: 3 :: Only",
|
||||||
"Programming Language :: Python :: 3.6",
|
"Programming Language :: Python :: 3.6",
|
||||||
"Programming Language :: Python :: 3.7",
|
"Programming Language :: Python :: 3.7",
|
||||||
|
"Topic :: Internet :: WWW/HTTP",
|
||||||
"Topic :: Office/Business :: Financial",
|
"Topic :: Office/Business :: Financial",
|
||||||
|
"Topic :: Other/Nonlisted Topic",
|
||||||
|
"Topic :: Security :: Cryptography",
|
||||||
"Topic :: Software Development :: Libraries",
|
"Topic :: Software Development :: Libraries",
|
||||||
"Topic :: Utilities",
|
"Topic :: Utilities",
|
||||||
],
|
],
|
||||||
|
@ -8,11 +8,11 @@ from typing import List
|
|||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
# because these variables are not named in upper case, as globals should be.
|
# because these variables are not named in upper case, as globals should be.
|
||||||
|
|
||||||
project = "order_utils.py"
|
project = "0x-order-utils"
|
||||||
# pylint: disable=redefined-builtin
|
# pylint: disable=redefined-builtin
|
||||||
copyright = "2018, ZeroEx, Intl."
|
copyright = "2018, ZeroEx, Intl."
|
||||||
author = "F. Eugene Aumson"
|
author = "F. Eugene Aumson"
|
||||||
version = "" # The short X.Y version
|
version = "0.1.0" # The short X.Y version
|
||||||
release = "" # The full version, including alpha/beta/rc tags
|
release = "" # The full version, including alpha/beta/rc tags
|
||||||
|
|
||||||
extensions = [
|
extensions = [
|
||||||
|
0
python-packages/order_utils/src/doc_static/.gitkeep
Normal file
0
python-packages/order_utils/src/doc_static/.gitkeep
Normal file
@ -1,7 +1,7 @@
|
|||||||
.. source for the sphinx-generated build/docs/web/index.html
|
.. source for the sphinx-generated build/docs/web/index.html
|
||||||
|
|
||||||
order_utils.py
|
Python zero_ex.order_utils
|
||||||
==============
|
==========================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
@ -1 +1,2 @@
|
|||||||
"""0x Python API."""
|
"""0x Python API."""
|
||||||
|
__import__("pkg_resources").declare_namespace(__name__)
|
||||||
|
@ -10,3 +10,16 @@ envlist = py37
|
|||||||
commands =
|
commands =
|
||||||
pip install -e .[dev]
|
pip install -e .[dev]
|
||||||
python setup.py test
|
python setup.py test
|
||||||
|
|
||||||
|
[testenv:run_tests_against_test_deployment]
|
||||||
|
commands =
|
||||||
|
# install dependencies from real PyPI
|
||||||
|
pip install eth-abi mypy_extensions web3 pytest
|
||||||
|
# install package-under-test from test PyPI
|
||||||
|
pip install --index-url https://test.pypi.org/legacy/ 0x-order-utils
|
||||||
|
pytest test
|
||||||
|
|
||||||
|
[testenv:run_tests_against_deployment]
|
||||||
|
commands =
|
||||||
|
pip install 0x-order-utils
|
||||||
|
pytest test
|
||||||
|
7
readthedocs.yaml
Normal file
7
readthedocs.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
build:
|
||||||
|
image: latest
|
||||||
|
|
||||||
|
python:
|
||||||
|
version: 3.6
|
||||||
|
|
||||||
|
requirements_file: requirements.readthedocs.txt
|
1
requirements.readthedocs.txt
Normal file
1
requirements.readthedocs.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
./python-packages/order_utils
|
Loading…
x
Reference in New Issue
Block a user