Skip to content

Commit 83d16ac

Browse files
authored
Merge pull request #13 from tekktrik/dev/fix-versioning
Allow for PyPI upload, automatic versioning via sed
2 parents e80ca16 + ed8e91b commit 83d16ac

File tree

6 files changed

+101
-42
lines changed

6 files changed

+101
-42
lines changed

.github/workflows/build.yml

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
awk -F '\/' '{ print tolower($2) }' |
2323
tr '_' '-'
2424
)
25-
- name: Set up Python 3.7
26-
uses: actions/setup-python@v1
25+
- name: Set up Python 3.x
26+
uses: actions/setup-python@v2
2727
with:
28-
python-version: 3.7
28+
python-version: "3.x"
2929
- name: Versions
3030
run: |
3131
python3 --version
@@ -42,9 +42,9 @@ jobs:
4242
# (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.)
4343
run: |
4444
source actions-ci/install.sh
45-
- name: Pip install pylint, Sphinx, pre-commit
45+
- name: Pip install Sphinx, pre-commit
4646
run: |
47-
pip install --force-reinstall pylint Sphinx sphinx-rtd-theme pre-commit
47+
pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit
4848
- name: Library version
4949
run: git describe --dirty --always --tags
5050
- name: Setup problem matchers
@@ -59,22 +59,19 @@ jobs:
5959
with:
6060
name: bundles
6161
path: ${{ github.workspace }}/bundles/
62-
- name: Check For docs folder
63-
id: need-docs
64-
run: |
65-
echo ::set-output name=docs::$( find . -wholename './docs' )
6662
- name: Build docs
67-
if: contains(steps.need-docs.outputs.docs, 'docs')
6863
working-directory: docs
6964
run: sphinx-build -E -W -b html . _build/html
70-
- name: Check For setup.py
65+
- name: Check For pyproject.toml
7166
id: need-pypi
7267
run: |
73-
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
68+
echo ::set-output name=pyproject-toml::$( find . -wholename './pyproject.toml' )
7469
- name: Build Python package
75-
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
70+
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
7671
run: |
77-
pip install --upgrade setuptools wheel twine readme_renderer testresources
78-
python setup.py sdist
79-
python setup.py bdist_wheel --universal
72+
pip install --upgrade build twine
73+
for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
74+
sed -i -e "s/0.0.0-auto.0/1.2.3/" $file;
75+
done;
76+
python -m build
8077
twine check dist/*

.github/workflows/release.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ jobs:
2424
awk -F '\/' '{ print tolower($2) }' |
2525
tr '_' '-'
2626
)
27-
- name: Set up Python 3.6
28-
uses: actions/setup-python@v1
27+
- name: Set up Python 3.x
28+
uses: actions/setup-python@v2
2929
with:
30-
python-version: 3.6
30+
python-version: "3.x"
3131
- name: Versions
3232
run: |
3333
python3 --version
@@ -61,28 +61,28 @@ jobs:
6161
runs-on: ubuntu-latest
6262
steps:
6363
- uses: actions/checkout@v1
64-
- name: Check For setup.py
64+
- name: Check For pyproject.toml
6565
id: need-pypi
6666
run: |
67-
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
67+
echo ::set-output name=pyproject-toml::$( find . -wholename './pyproject.toml' )
6868
- name: Set up Python
69-
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
70-
uses: actions/setup-python@v1
69+
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
70+
uses: actions/setup-python@v2
7171
with:
7272
python-version: '3.x'
7373
- name: Install dependencies
74-
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
74+
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
7575
run: |
7676
python -m pip install --upgrade pip
77-
pip install setuptools wheel twine
77+
pip install --upgrade build twine
7878
- name: Build and publish
79-
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
79+
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
8080
env:
8181
TWINE_USERNAME: ${{ secrets.pypi_username }}
8282
TWINE_PASSWORD: ${{ secrets.pypi_password }}
8383
run: |
84-
for file in $(find -not -path "./.*" -not -path "./docs*" -name "*.py"); do
84+
for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
8585
sed -i -e "s/0.0.0-auto.0/${{github.event.release.tag_name}}/" $file;
8686
done;
87-
python setup.py sdist
87+
python -m build
8888
twine upload dist/*

README.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,38 @@ Or the following command to update an existing version:
6262
6363
circup update
6464
65+
Installing from PyPI
66+
====================
67+
68+
.. note::
69+
70+
This library is provided on PyPI so that code developed for microcontrollers with this
71+
library will also run on computers like the Raspberry Pi. If you just need a package
72+
for working with CSV files on a computer only, consider using the Python standard
73+
library's ``csv`` module instead.
74+
75+
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
76+
PyPI <https://pypi.org/project/circuitpython-csv/>`_. To install for current user:
77+
78+
.. code-block:: shell
79+
80+
pip3 install circuitpython-csv
81+
82+
To install system-wide (this may be required in some cases):
83+
84+
.. code-block:: shell
85+
86+
sudo pip3 install circuitpython-csv
87+
88+
To install in a virtual environment in your current project:
89+
90+
.. code-block:: shell
91+
92+
mkdir project-name && cd project-name
93+
python3 -m venv .venv
94+
source .venv/bin/activate
95+
pip3 install circuitpython-csv
96+
6597
Usage Example
6698
=============
6799

circuitpython_csv.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"""
2727

2828
__version__ = "0.0.0-auto.0"
29-
__repo__ = "https://github.com/tekktrik/Circuitpython_CircuitPython_CSV.git"
29+
__repo__ = "https://github.com/tekktrik/CircuitPython_CSV.git"
3030

3131
import re
3232

pyproject.toml

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,45 @@
1-
# SPDX-FileCopyrightText: 2020 Diego Elio Pettenò
1+
# SPDX-FileCopyrightText: 2022 Alec Delaney
22
#
3-
# SPDX-License-Identifier: Unlicense
3+
# SPDX-License-Identifier: MIT
44

5-
[tool.black]
6-
target-version = ['py35']
5+
[build-system]
6+
requires = [
7+
"setuptools",
8+
"wheel",
9+
"setuptools-scm",
10+
]
11+
12+
[project]
13+
name = "circuitpython-csv"
14+
description = "CircuitPython helper library for working with CSV files"
15+
version = "0.0.0-auto.0"
16+
readme = "README.rst"
17+
authors = [
18+
{name = "Alec Delaney", email = "[email protected]"}
19+
]
20+
urls = {Homepage = "https://github.com/tekktrik/CircuitPython_CSV"}
21+
keywords = [
22+
"adafruit",
23+
"csv",
24+
"data",
25+
"files",
26+
"embedded",
27+
"micropython",
28+
"circuitpython",
29+
]
30+
license = {text = "MIT"}
31+
classifiers = [
32+
"Intended Audience :: Developers",
33+
"Topic :: Software Development :: Libraries",
34+
"Topic :: Software Development :: Embedded Systems",
35+
"Topic :: System :: Hardware",
36+
"License :: OSI Approved :: MIT License",
37+
"Programming Language :: Python :: 3",
38+
]
39+
dynamic = ["dependencies"]
40+
41+
[tool.setuptools]
42+
py-modules = ["circuitpython_csv"]
43+
44+
[tool.setuptools.dynamic]
45+
dependencies = {file = ["requirements.txt"]}

setup.py.disabled

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)