Skip to content

Commit 8b8a274

Browse files
authored
Merge pull request #8 from Argmaster/release-1.0.0
Release 1.0.0
2 parents 8b58edb + 2404a23 commit 8b8a274

147 files changed

Lines changed: 2426 additions & 645 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bumpversion.cfg

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.0.1
2+
current_version = 1.0.0
33
commit = True
44
tag = True
55

@@ -11,6 +11,10 @@ replace = version="{new_version}"
1111
search = /v{current_version}.svg
1212
replace = /v{new_version}.svg
1313

14+
[bumpversion:file (badge_ci):README.rst]
15+
search = pygerber.svg?branch=v{current_version}
16+
replace = pygerber.svg?branch=v{new_version}
17+
1418
[bumpversion:file (link):README.rst]
1519
search = /v{current_version}...main
1620
replace = /v{new_version}...main

.cookiecutterrc

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

.github/workflows/main.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- release-*
8+
- develop
9+
pull_request:
10+
branches:
11+
- main
12+
- release-*
13+
- develop
14+
15+
workflow_dispatch:
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
21+
strategy:
22+
fail-fast: true
23+
24+
steps:
25+
- uses: actions/checkout@v2
26+
with:
27+
ref: ${{ github.ref }}
28+
29+
- name: Set up Python 3.9
30+
uses: actions/setup-python@v2
31+
with:
32+
python-version: 3.9
33+
34+
- name: Install dependencies
35+
run: |
36+
sudo apt update
37+
sudo apt install libpulse0
38+
python -m pip install --upgrade pip
39+
pip install tox
40+
41+
- name: Tox -e clean
42+
run: |
43+
tox -e clean
44+
45+
- name: Tox -e check
46+
run: |
47+
tox -e check
48+
49+
- name: Tox -e py39
50+
run: |
51+
tox -e py39
52+
53+
- name: Upload coverage to Codecov
54+
uses: codecov/codecov-action@v1
55+
with:
56+
file: ./coverage.xml

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,9 @@ docs/_build
7575

7676
.vscode/
7777
render.png
78+
blender/
79+
typings/
80+
*.blend1
81+
*.blend
82+
.temp/
83+
*.glb

.travis.yml

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

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,11 @@ Changelog
66
------------------
77

88
* First release on PyPI.
9+
* Added 2D rendering
10+
11+
1.0.0 (2021-10-06)
12+
------------------
13+
14+
* Added 3D rendering (not full-featured)
15+
* Added CLI and API for 3D rendering
16+
* Installing bpy is required for 3D rendering

CONTRIBUTING.rst

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ To set up `pygerber` for local development:
4949

5050
Now you can make your changes locally.
5151

52-
4. When you're done making changes run all the checks and docs builder with `tox <https://tox.readthedocs.io/en/latest/install.html>`_ one command::
52+
4. When you're done making changes run all the checks and docs builder with `tox <https://github.com/tox-dev/tox>`_ one command::
5353

5454
tox
5555

@@ -68,17 +68,11 @@ If you need some code review or feedback while you're developing the code just m
6868

6969
For merging, you should:
7070

71-
1. Include passing tests (run ``tox``) [1]_.
71+
1. Include passing tests (run ``tox``).
7272
2. Update documentation when there's new API, functionality etc.
7373
3. Add a note to ``CHANGELOG.rst`` about the changes.
7474
4. Add yourself to ``AUTHORS.rst``.
7575

76-
.. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will
77-
`run the tests <https://travis-ci.com/github/Argmaster/pygerber/pull_requests>`_
78-
for each change you add in the pull request.
79-
80-
It will be slower though ...
81-
8276
Tips
8377
----
8478

MANIFEST.in

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
graft docs
22
graft src
3-
graft ci
4-
graft tests
3+
4+
prune tests
5+
prune tests/gerber/rendered/*
6+
prune scripts
7+
prune .github
58

69
include .bumpversion.cfg
710
include .cookiecutterrc
811
include .coveragerc
912
include .editorconfig
1013
include tox.ini
11-
include .travis.yml
12-
include .appveyor.yml
1314
include .readthedocs.yml
1415
include .pre-commit-config.yaml
1516
include AUTHORS.rst
@@ -18,5 +19,4 @@ include CONTRIBUTING.rst
1819
include LICENSE
1920
include README.rst
2021

21-
22-
global-exclude *.py[cod] __pycache__/* *.so *.dylib
22+
global-exclude *.py[cod] __pycache__/* *.so *.dylib .temp/*

README.rst

Lines changed: 23 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1+
12
.. image:: https://raw.githubusercontent.com/Argmaster/pygerber/main/docs/_static/pygerber_logo.png
3+
:height: 400px
4+
:align: center
25

36
========
47
Overview
58
========
69

710
.. start-badges
811
9-
|docs| |travis| |codecov| |version| |wheel| |supported-versions| |supported-implementations| |commits-since|
12+
|docs| |tests| |codecov| |version| |wheel| |supported-versions| |supported-implementations| |commits-since|
1013

1114
.. |docs| image:: https://readthedocs.org/projects/pygerber/badge/?style=flat
1215
:target: https://pygerber.readthedocs.io/
1316
:alt: Documentation Status
1417

15-
.. |travis| image:: https://app.travis-ci.com/Argmaster/pygerber.svg?branch=main
16-
:alt: Travis-CI Build Status
17-
:target: https://travis-ci.com/github/Argmaster/pygerber
18+
.. |tests| image:: https://github.com/Argmaster/pygerber/actions/workflows/main.yml/badge.svg
19+
:target: https://github.com/Argmaster/pygerber
20+
:alt: Workflow Status
1821

19-
.. |codecov| image:: https://codecov.io/gh/Argmaster/pygerber/branch/main/graphs/badge.svg?branch=main
22+
.. |codecov| image:: https://api.travis-ci.com/Argmaster/pygerber.svg?branch=v1.0.0
2023
:alt: Coverage Status
2124
:target: https://codecov.io/github/Argmaster/pygerber
2225

@@ -36,17 +39,15 @@ Overview
3639
:alt: Supported implementations
3740
:target: https://pypi.org/project/pygerber
3841

39-
.. |commits-since| image:: https://img.shields.io/github/commits-since/Argmaster/pygerber/v0.0.1.svg
42+
.. |commits-since| image:: https://img.shields.io/github/commits-since/Argmaster/pygerber/v1.0.0.svg
4043
:alt: Commits since latest release
41-
:target: https://github.com/Argmaster/pygerber/compare/v0.0.1...main
44+
:target: https://github.com/Argmaster/pygerber/compare/v1.0.0...main
4245

4346
.. end-badges
4447
4548
PyGerber is a Python library for 2D and 3D rendering of Gerber X3 files.
4649
It is completely written in Python, and only dependencies are limiting its portability.
4750

48-
*3D rendering is still under development, it will arrive at next major release. (v1.0.0)*
49-
5051
**This package is a Free Software; it is released under MIT license**. Be aware that dependencies might be using different licenses.
5152

5253
PyGerber offers a CLI and API for Python to allow easy rendering of Gerber files.
@@ -68,26 +69,29 @@ PyGerber is available on PyPI and can be obtained via pip
6869
6970
pip install pygerber
7071
71-
Be aware that this will **only install general and 2D rendering dependencies**, as
72-
**bpy (Blender) is not officially released as Python package**. You have to obtain
73-
it yourself, which, for example, you can archive with help of guides contained in
74-
this `repository <https://github.com/Argmaster/pyr3>`_.
75-
76-
7772
You can also install the in-development version from github with
7873

7974
.. code:: bash
8075
8176
pip install https://github.com/Argmaster/pygerber/archive/main.zip
8277
83-
Same Blender dependency issue applies to this installation method.
78+
Blender dependency issue mentioned in previous releases was resolved by using
79+
`PyR3 package <https://pypi.org/project/PyR3/>`_ which provides Blender.
80+
**However, blender has to be installed independently from package by calling PyR3.install_bpy script**::
81+
82+
python -m PyR3.install_bpy
83+
84+
Before You try to use 3D rendering.
8485

8586
Compatibility
8687
=============
8788

88-
PyGerber officially supports only Python 3.9, but 2D rendering should be also available for
89-
3.8 and 3.7, as long as Pillow provides support for those versions. 3D rendering is not
90-
possible on those versions of Python due to compatibility issues of Blender binaries and Blender's API changes.
89+
PyGerber officially runs on Python 3.9.* and only on this version.
90+
However it may be possible to run 2D rendering on other Python versions
91+
that are supported by Pillow.
92+
93+
I'll consider bringing Python 3.8 3D rendering support, but no sooner than
94+
after implementation of full set of 3D rendering features and macros support.
9195

9296
Documentation
9397
=============
@@ -101,28 +105,10 @@ To run all the tests, just run::
101105

102106
tox
103107

104-
To see all the tox environments::
105-
106-
tox -l
107-
108108
To only build the docs::
109109

110110
tox -e docs
111111

112112
To build and verify that the built package is proper and other code QA checks::
113113

114114
tox -e check
115-
116-
To build sdist, and bdist_wheel::
117-
118-
python setup.py clean --all sdist bdist_wheel
119-
120-
To make a release of the project on PyPI, assuming you got some distributions in dist/, the most simple usage is::
121-
122-
twine upload --skip-existing dist/*.whl dist/*.gz dist/*.zip
123-
124-
Credits
125-
=======
126-
127-
Structure of this project was created using cookiecutter template `cookiecutter-pylibrary <https://github.com/ionelmc/cookiecutter-pylibrary>`_.
128-
I'm very grateful to Ionel Cristian Mărieș for its creation.

0 commit comments

Comments
 (0)