Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 08e16ac68d | |||
| b11a0c814e | |||
| dd76e0a45e | |||
| 3ed20aefea | |||
| c7eed9d36c |
19 changed files with 311 additions and 169 deletions
64
.github/workflows/build.yml
vendored
64
.github/workflows/build.yml
vendored
|
|
@ -8,9 +8,65 @@ on: [pull_request, push]
|
|||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Run Build CI workflow
|
||||
uses: adafruit/workflows-circuitpython-libs/build@main
|
||||
- name: View context attributes
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
package-prefix: jepler_udecimal
|
||||
script: console.log(JSON.stringify(context, null, 2))
|
||||
- name: Translate Repo Name For Build Tools filename_prefix
|
||||
id: repo-name
|
||||
run: |
|
||||
echo repo-name=$(
|
||||
echo ${{ github.repository }} |
|
||||
awk -F '\/' '{ print tolower($2) }' |
|
||||
tr '_' '-'h
|
||||
)>> $GITHUB_OUTPUTS
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.x
|
||||
- name: Versions
|
||||
run: |
|
||||
python3 --version
|
||||
- name: Checkout Current Repo
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Checkout tools repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: adafruit/actions-ci-circuitpython-libs
|
||||
path: actions-ci
|
||||
- name: Install dependencies
|
||||
# (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.)
|
||||
run: |
|
||||
source actions-ci/install.sh
|
||||
- name: Pip install Sphinx, pre-commit
|
||||
run: |
|
||||
pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit sphinx-autoapi
|
||||
- name: Library version
|
||||
run: git describe --dirty --always --tags
|
||||
- name: Setup problem matchers
|
||||
uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1
|
||||
- name: Pre-commit hooks
|
||||
run: |
|
||||
pre-commit run --all-files
|
||||
- name: Test in circuitpython
|
||||
run: ./build-test-cp.sh
|
||||
- name: Build assets
|
||||
run: circuitpython-build-bundles --package_folder_prefix jepler --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
|
||||
- name: Build docs
|
||||
working-directory: docs
|
||||
run: sphinx-build -E -W -b html . _build/html
|
||||
- name: Archive bundles
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: bundles
|
||||
path: ${{ github.workspace }}/bundles/
|
||||
- name: Build Python package
|
||||
run: |
|
||||
pip install --upgrade setuptools wheel twine readme_renderer testresources
|
||||
python setup.py sdist
|
||||
python setup.py bdist_wheel --universal
|
||||
twine check dist/*
|
||||
|
|
|
|||
19
.github/workflows/failure-help-text.yml
vendored
19
.github/workflows/failure-help-text.yml
vendored
|
|
@ -1,19 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2021 Scott Shawcroft for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: Failure help text
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Build CI"]
|
||||
types:
|
||||
- completed
|
||||
|
||||
jobs:
|
||||
post-help:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.event == 'pull_request' }}
|
||||
steps:
|
||||
- name: Post comment to help
|
||||
uses: adafruit/circuitpython-action-library-ci-failed@v1
|
||||
85
.github/workflows/release.yml
vendored
Normal file
85
.github/workflows/release.yml
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: Release Actions
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
upload-release-assets:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||
run: echo "$GITHUB_CONTEXT"
|
||||
- name: Translate Repo Name For Build Tools filename_prefix
|
||||
id: repo-name
|
||||
run: |
|
||||
echo repo-name=$(
|
||||
echo ${{ github.repository }} |
|
||||
awk -F '\/' '{ print tolower($2) }' |
|
||||
tr '_' '-'h
|
||||
)>> $GITHUB_OUTPUTS
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Versions
|
||||
run: |
|
||||
python3 --version
|
||||
- name: Checkout Current Repo
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: true
|
||||
- name: Checkout tools repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: adafruit/actions-ci-circuitpython-libs
|
||||
path: actions-ci
|
||||
- name: Install deps
|
||||
run: |
|
||||
source actions-ci/install.sh
|
||||
- name: Build assets
|
||||
run: circuitpython-build-bundles --package_folder_prefix jepler --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
|
||||
- name: Upload Release Assets
|
||||
# the 'official' actions version does not yet support dynamically
|
||||
# supplying asset names to upload. @csexton's version chosen based on
|
||||
# discussion in the issue below, as its the simplest to implement and
|
||||
# allows for selecting files with a pattern.
|
||||
# https://github.com/actions/upload-release-asset/issues/4
|
||||
#uses: actions/upload-release-asset@v1.0.1
|
||||
uses: csexton/release-asset-action@master
|
||||
with:
|
||||
pattern: "bundles/*"
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
upload-pypi:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Check For setup.py
|
||||
id: need-pypi
|
||||
run: |
|
||||
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
|
||||
- name: Set up Python
|
||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel twine
|
||||
- name: Build and publish
|
||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
||||
env:
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.pypi_token }}
|
||||
run: |
|
||||
python setup.py sdist
|
||||
twine upload dist/*
|
||||
20
.github/workflows/release_gh.yml
vendored
20
.github/workflows/release_gh.yml
vendored
|
|
@ -1,20 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: GitHub Release Actions
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
upload-release-assets:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run GitHub Release CI workflow
|
||||
uses: adafruit/workflows-circuitpython-libs/release-gh@main
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
upload-url: ${{ github.event.release.upload_url }}
|
||||
package-prefix: jepler_udecimal
|
||||
19
.github/workflows/release_pypi.yml
vendored
19
.github/workflows/release_pypi.yml
vendored
|
|
@ -1,19 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: PyPI Release Actions
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
upload-release-assets:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run PyPI Release CI workflow
|
||||
uses: adafruit/workflows-circuitpython-libs/release-pypi@main
|
||||
with:
|
||||
pypi-username: __token__
|
||||
pypi-password: ${{ secrets.pypi_token }}
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -20,4 +20,3 @@ docs/api
|
|||
circuitpython
|
||||
/*.exp
|
||||
/*.out
|
||||
*/__version__.py
|
||||
|
|
|
|||
|
|
@ -4,28 +4,28 @@
|
|||
|
||||
repos:
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 25.1.0
|
||||
rev: 22.12.0
|
||||
hooks:
|
||||
- id: black
|
||||
- repo: https://github.com/fsfe/reuse-tool
|
||||
rev: v5.0.2
|
||||
rev: v1.1.0
|
||||
hooks:
|
||||
- id: reuse
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v5.0.0
|
||||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: check-yaml
|
||||
- id: end-of-file-fixer
|
||||
- id: trailing-whitespace
|
||||
- repo: https://github.com/pycqa/pylint
|
||||
rev: v3.3.4
|
||||
rev: v2.15.9
|
||||
hooks:
|
||||
- id: pylint
|
||||
name: lint (examples)
|
||||
types: [python]
|
||||
files: ^examples/
|
||||
args:
|
||||
- --disable=missing-docstring,invalid-name
|
||||
- --disable=missing-docstring,invalid-name,bad-whitespace
|
||||
- id: pylint
|
||||
name: lint (code)
|
||||
types: [python]
|
||||
|
|
|
|||
|
|
@ -391,3 +391,10 @@ max-statements=50
|
|||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=1
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "Exception"
|
||||
overgeneral-exceptions=Exception
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
build:
|
||||
os: ubuntu-20.04
|
||||
tools:
|
||||
python: "3"
|
||||
|
||||
python:
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
- requirements: requirements.txt
|
||||
7
.readthedocs.yml
Normal file
7
.readthedocs.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
python:
|
||||
version: 3
|
||||
requirements_file: docs/requirements.txt
|
||||
21
build-test-cp.sh
Executable file
21
build-test-cp.sh
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
# SPDX-FileCopyrightText: 2022 Jeff Epler
|
||||
# SPDX-License-Identifier: MIT
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
set -e
|
||||
TAG=8.0.0-beta.4
|
||||
if ! [ -e circuitpython/py/py.mk ]; then
|
||||
git clone -b $TAG --depth=1 https://github.com/adafruit/circuitpython
|
||||
fi
|
||||
|
||||
(cd circuitpython && git submodule update --init lib/libffi lib/axtls lib/berkeley-db-1.xx tools/huffman extmod/ulab)
|
||||
|
||||
if ! [ -x circuitpython/ports/unix/micropython ]; then
|
||||
make -C circuitpython/ports/unix -j$(nproc) DEBUG=1 STRIP=:
|
||||
fi
|
||||
|
||||
if ! MICROPYPATH=. PYTHONPATH=. MICROPY_MICROPYTHON=circuitpython/ports/unix/micropython circuitpython/tests/run-tests.py -d examples; then
|
||||
circuitpython/tests/run-tests.py --print-failures
|
||||
exit 1
|
||||
fi
|
||||
23
build.sh
23
build.sh
|
|
@ -9,12 +9,17 @@ echo "=== Create and set up virtual environment"
|
|||
. .env/bin/activate
|
||||
echo "=== Install requirements"
|
||||
pip3 install wheel
|
||||
pip3 install -r requirements_dev.txt
|
||||
pip3 install -r requirements.txt
|
||||
echo "=== Run pre-commit"
|
||||
pre-commit run --all-files
|
||||
echo "=== Run pylint"
|
||||
pylint jepler_udecimal
|
||||
if [ -d examples ]; then
|
||||
pylint --disable=missing-docstring,invalid-name,bad-whitespace examples
|
||||
fi
|
||||
|
||||
echo "=== Clone and build circuitpython unix port"
|
||||
[ -e circuitpython/py/py.mk ] || git clone --shallow-since=2021-07-01 https://github.com/adafruit/circuitpython
|
||||
[ -e circuitpython/py/py.mk ] || git clone --depth=1 https://github.com/adafruit/circuitpython
|
||||
[ -e circuitpython/lib/libffi/autogen.sh ] || (cd circuitpython && git submodule update --init lib/libffi lib/axtls lib/berkeley-db-1.xx tools/huffman lib/uzlib extmod/ulab)
|
||||
[ -x circuitpython/ports/unix/micropython ] || (
|
||||
make -C circuitpython/mpy-cross -j$(nproc)
|
||||
|
|
@ -25,14 +30,12 @@ make -C circuitpython/ports/unix -j$(nproc) DEBUG=1 STRIP=:
|
|||
echo "=== Run tests"
|
||||
python -m jepler_udecimal.test
|
||||
|
||||
run-tests () {
|
||||
env MICROPYPATH=. PYTHONPATH=. MICROPY_MICROPYTHON=circuitpython/ports/unix/micropython circuitpython/tests/run-tests.py "$@"
|
||||
}
|
||||
|
||||
run-tests --clean-failures
|
||||
if ! run-tests -d examples; then
|
||||
run-tests --print-failures
|
||||
exit 1
|
||||
if ! env MICROPYPATH=. PYTHONPATH=. MICROPY_MICROPYTHON=circuitpython/ports/unix/micropython circuitpython/tests/run-tests -d examples; then
|
||||
for exp in *.exp; do
|
||||
testbase=$(basename $exp .exp);
|
||||
echo -e "\nFAILURE $testbase";
|
||||
diff -u $testbase.exp $testbase.out;
|
||||
done
|
||||
fi
|
||||
|
||||
PYTHONPATH=. python examples/test_udecimal.py > test_udecimal.exp
|
||||
|
|
|
|||
12
docs/conf.py
12
docs/conf.py
|
|
@ -109,6 +109,18 @@ napoleon_numpy_docstring = False
|
|||
#
|
||||
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
|
||||
|
||||
if not on_rtd: # only import and set the theme if we're building docs locally
|
||||
try:
|
||||
import sphinx_rtd_theme
|
||||
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), "."]
|
||||
except:
|
||||
html_theme = "default"
|
||||
html_theme_path = ["."]
|
||||
else:
|
||||
html_theme_path = ["."]
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
|
|
|
|||
|
|
@ -50,19 +50,19 @@ with localcontext():
|
|||
print(neginf * inf)
|
||||
try:
|
||||
print(dig / 0)
|
||||
except Exception as e:
|
||||
except ZeroDivisionError as e:
|
||||
print("Division by zero")
|
||||
getcontext().traps[DivisionByZero] = 1
|
||||
try:
|
||||
print(dig / 0)
|
||||
except Exception as e:
|
||||
except DivisionByZero as e:
|
||||
print("Division by zero")
|
||||
c = Context()
|
||||
c.traps[InvalidOperation] = 0
|
||||
print(+c.flags[InvalidOperation])
|
||||
c.traps[InvalidOperation] = 0
|
||||
try:
|
||||
c.divide(Decimal(0), Decimal(0))
|
||||
except Exception as e:
|
||||
except ZeroDivisionError as e:
|
||||
print("Division by zero")
|
||||
c.traps[InvalidOperation] = 1
|
||||
print(+c.flags[InvalidOperation])
|
||||
|
|
@ -70,17 +70,18 @@ with localcontext():
|
|||
print(+c.flags[InvalidOperation])
|
||||
try:
|
||||
print(c.divide(Decimal(0), Decimal(0)))
|
||||
except Exception as e:
|
||||
print("Division by zero")
|
||||
except InvalidOperation as e:
|
||||
print("InvalidOperation")
|
||||
print(+c.flags[InvalidOperation])
|
||||
try:
|
||||
print(c.divide(Decimal(0), Decimal(0)))
|
||||
except Exception as e:
|
||||
print("Division by zero")
|
||||
except InvalidOperation as e:
|
||||
print("InvalidOperation")
|
||||
print(+c.flags[InvalidOperation])
|
||||
|
||||
import jepler_udecimal.utrig
|
||||
from jepler_udecimal import Decimal
|
||||
from jepler_udecimal import InvalidOperation
|
||||
|
||||
print(Decimal(".7").atan())
|
||||
print(Decimal(".1").acos())
|
||||
|
|
@ -96,12 +97,12 @@ print(Decimal("NaN").tan())
|
|||
print(Decimal("NaN").sin())
|
||||
try:
|
||||
print(Decimal("2").acos())
|
||||
except Exception as e:
|
||||
print("exception")
|
||||
except InvalidOperation as e:
|
||||
print("InvalidOperation")
|
||||
try:
|
||||
print(Decimal("2").asin())
|
||||
except Exception as e:
|
||||
print("exception")
|
||||
except InvalidOperation as e:
|
||||
print("InvalidOperation")
|
||||
print(Decimal("2").atan())
|
||||
print(Decimal("1").asin())
|
||||
print(Decimal("-1").asin())
|
||||
|
|
|
|||
|
|
@ -8,9 +8,7 @@
|
|||
from jepler_udecimal import Decimal
|
||||
|
||||
|
||||
def moneyfmt(
|
||||
value, *, places=2, curr="", sep=",", dp=".", pos="", neg="-", trailneg=""
|
||||
):
|
||||
def moneyfmt(value, places=2, curr="", sep=",", dp=".", pos="", neg="-", trailneg=""):
|
||||
"""Convert Decimal to a money formatted string.
|
||||
|
||||
places: required number of places after the decimal point
|
||||
|
|
|
|||
|
|
@ -269,6 +269,10 @@ class DivisionByZero(DecimalException):
|
|||
The result of the operation is [sign,inf], where sign is the exclusive
|
||||
or of the signs of the operands for divide, or is 1 for an odd power of
|
||||
-0, for power.
|
||||
|
||||
Due to technical limitations in MicroPython, this exception does not
|
||||
inherit from ZeroDivisionError, an incompatibility with standard Python's
|
||||
Decimal library.
|
||||
"""
|
||||
|
||||
def handle(self, context, sign, *args):
|
||||
|
|
@ -425,6 +429,10 @@ class FloatOperation(DecimalException):
|
|||
|
||||
Otherwise (the signal is trapped), only equality comparisons and explicit
|
||||
conversions are silent. All other mixed operations raise FloatOperation.
|
||||
|
||||
Due to technical limitations in MicroPython, this exception does not
|
||||
inherit from TypeError, an incompatibility with standard Python's
|
||||
Decimal library.
|
||||
"""
|
||||
|
||||
|
||||
|
|
@ -1798,16 +1806,16 @@ class Decimal(object):
|
|||
else:
|
||||
return -self._round_down(prec)
|
||||
|
||||
_pick_rounding_function = {
|
||||
ROUND_DOWN: _round_down,
|
||||
ROUND_UP: _round_up,
|
||||
ROUND_HALF_UP: _round_half_up,
|
||||
ROUND_HALF_DOWN: _round_half_down,
|
||||
ROUND_HALF_EVEN: _round_half_even,
|
||||
ROUND_CEILING: _round_ceiling,
|
||||
ROUND_FLOOR: _round_floor,
|
||||
ROUND_05UP: _round_05up,
|
||||
}
|
||||
_pick_rounding_function = dict(
|
||||
ROUND_DOWN=_round_down,
|
||||
ROUND_UP=_round_up,
|
||||
ROUND_HALF_UP=_round_half_up,
|
||||
ROUND_HALF_DOWN=_round_half_down,
|
||||
ROUND_HALF_EVEN=_round_half_even,
|
||||
ROUND_CEILING=_round_ceiling,
|
||||
ROUND_FLOOR=_round_floor,
|
||||
ROUND_05UP=_round_05up,
|
||||
)
|
||||
|
||||
def __round__(self, n=None):
|
||||
"""Round self to the nearest integer, or to a given precision.
|
||||
|
|
@ -3357,7 +3365,7 @@ class Context(object):
|
|||
:param bool clamp: If true, change exponents if too high
|
||||
"""
|
||||
|
||||
def __init__( # pylint: disable=too-many-positional-arguments
|
||||
def __init__(
|
||||
self,
|
||||
prec=None,
|
||||
rounding=None,
|
||||
|
|
|
|||
|
|
@ -2,48 +2,5 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
[build-system]
|
||||
requires = [
|
||||
"setuptools",
|
||||
"wheel",
|
||||
"setuptools-scm",
|
||||
]
|
||||
|
||||
[project]
|
||||
name = "circuitpython-jepler-udecimal"
|
||||
description = "Reduced version of the decimal library for CircuitPython"
|
||||
version = "0.0.0+auto.0"
|
||||
readme = "README.rst"
|
||||
authors = [
|
||||
{name = "Jeff Epler", email = "jepler@gmail.com"}
|
||||
]
|
||||
urls = { Source = "https://github.com/jepler/Jepler_CircuitPython_udecimal", Documentation = "https://jepler-udecimal.readthedocs.io/en/latest/api/jepler_udecimal/index.html", Tracker = "https://github.com/jepler/Jepler_CircuitPython_udecimal/issues" }
|
||||
# "Pull Requests" = "https://github.com/jepler/Jepler_CircuitPython_udecimal/pulls",
|
||||
keywords = [
|
||||
"adafruit",
|
||||
"blinka",
|
||||
"circuitpython",
|
||||
"micropython",
|
||||
"udecimal",
|
||||
"numeric",
|
||||
"helper",
|
||||
"arbitraryprecision",
|
||||
"math",
|
||||
]
|
||||
license = {text = "MIT"}
|
||||
classifiers = [
|
||||
"Intended Audience :: Developers",
|
||||
"Topic :: Software Development :: Libraries",
|
||||
"Topic :: Software Development :: Embedded Systems",
|
||||
"Topic :: System :: Hardware",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"License :: OSI Approved :: Python Software Foundation License",
|
||||
"Programming Language :: Python :: 3",
|
||||
]
|
||||
dynamic = ["dependencies", "optional-dependencies"]
|
||||
|
||||
|
||||
[tool.setuptools]
|
||||
packages=['jepler_udecimal']
|
||||
[tool.setuptools_scm]
|
||||
write_to = "jepler_udecimal/__version__.py"
|
||||
[tool.black]
|
||||
target-version = ['py35']
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
pre-commit
|
||||
recommonmark==0.6.0
|
||||
sphinx
|
||||
sphinx<4
|
||||
sphinx-autoapi
|
||||
sphinxcontrib-svg2pdfconverter==0.1.0
|
||||
sphinx-rtd-theme
|
||||
65
setup.py
Normal file
65
setup.py
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
||||
# SPDX-FileCopyrightText: Copyright (c) 2020 jepler for Unpythonic Networks
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
"""A setuptools based setup module.
|
||||
|
||||
See:
|
||||
https://packaging.python.org/en/latest/distributing.html
|
||||
https://github.com/pypa/sampleproject
|
||||
"""
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
# To use a consistent encoding
|
||||
from codecs import open
|
||||
from os import path
|
||||
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
|
||||
# Get the long description from the README file
|
||||
with open(path.join(here, "README.rst"), encoding="utf-8") as f:
|
||||
long_description = f.read()
|
||||
|
||||
setup(
|
||||
name="jepler-circuitpython-udecimal",
|
||||
use_scm_version=True,
|
||||
setup_requires=["setuptools_scm"],
|
||||
description="Reduced version of the decimal library for CircuitPython",
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/x-rst",
|
||||
# The project's main homepage.
|
||||
url="https://github.com/jepler/Jepler_CircuitPython_udecimal",
|
||||
project_urls={
|
||||
"Source": "https://github.com/jepler/Jepler_CircuitPython_udecimal",
|
||||
"Documentation": "https://jepler-udecimal.readthedocs.io/en/latest/api/jepler_udecimal/index.html",
|
||||
"Tracker": "https://github.com/jepler/Jepler_CircuitPython_udecimal/issues",
|
||||
"Pull Requests": "https://github.com/jepler/Jepler_CircuitPython_udecimal/pulls",
|
||||
},
|
||||
# Author details
|
||||
author="Jeff Epler",
|
||||
author_email="jepler@gmail.com",
|
||||
install_requires=[],
|
||||
# Choose your license
|
||||
license="MIT",
|
||||
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
||||
classifiers=[
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"Topic :: Software Development :: Libraries",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"License :: OSI Approved :: Python Software Foundation License ",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.4",
|
||||
"Programming Language :: Python :: 3.5",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
],
|
||||
# What does your project relate to?
|
||||
keywords="adafruit blinka circuitpython micropython udecimal numeric helper "
|
||||
"arbitraryprecision math",
|
||||
# You can just specify the packages manually here if your project is
|
||||
# simple. Or you can use find_packages().
|
||||
packages=["jepler_udecimal"],
|
||||
)
|
||||
Loading…
Reference in a new issue