Metadata-Version: 2.1
Name: pygerber
Version: 1.1.0
Summary: Package for testing various development tools.
Home-page: https://github.com/Argmaster/pygerber
Author: Krzysztof Wiśniewski
Author-email: argmaster.world@gmail.com
License: MIT
Project-URL: Documentation, https://pygerber.readthedocs.io/
Project-URL: Changelog, https://pygerber.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/Argmaster/pygerber/issues
Keywords: python-3,python-3.9,gerber,gerber-rendering,gerber-x3,python-rendering,gerber-parser
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Utilities
Requires-Python: ==3.9.*
Requires-Dist: pillow (>=8.3.0)
Requires-Dist: numpy (>=1.21.0)
Requires-Dist: PyYAML (>=5.4.0)
Requires-Dist: toml (>=0.10.0)
Requires-Dist: PyR3 (>=0.2.2)

.. image:: https://raw.githubusercontent.com/Argmaster/pygerber/main/docs/_static/project_logo.png
   :alt: Project Logo
   :align: center

##########
 Overview
##########

.. image:: https://img.shields.io/github/license/Argmaster/pygerber
   :alt: Package License
   :target: https://pypi.org/project/pygerber

.. image:: https://readthedocs.org/projects/pygerber/badge/?style=flat
   :alt: Documentation Status
   :target: https://pygerber.readthedocs.io/

.. image:: https://github.com/Argmaster/pygerber/actions/workflows/draft_release.yaml/badge.svg?style=flat
   :alt: Workflow Status
   :target: https://github.com/Argmaster/pygerber

.. image:: https://github.com/Argmaster/pygerber/actions/workflows/release_pr_tests.yaml/badge.svg?style=flat
   :alt: Workflow Status
   :target: https://github.com/Argmaster/pygerber

.. image:: https://codecov.io/gh/Argmaster/pygerber/branch/main/graph/badge.svg?token=VM09IHO13U
   :alt: Code coverage stats
   :target: https://codecov.io/gh/Argmaster/pygerber

.. image:: https://img.shields.io/github/v/release/Argmaster/pygerber?style=flat
   :alt: GitHub release (latest by date)
   :target: https://github.com/Argmaster/pygerber/releases/tag/1.1.0

.. image:: https://img.shields.io/github/commit-activity/m/Argmaster/pygerber
   :alt: GitHub commit activity
   :target: https://github.com/Argmaster/pygerber/commits/main

.. image:: https://img.shields.io/github/issues-pr/Argmaster/pygerber?style=flat
   :alt: GitHub pull requests
   :target: https://github.com/Argmaster/pygerber/pulls

.. image:: https://img.shields.io/github/issues-pr-closed-raw/Argmaster/pygerber?style=flat
   :alt: GitHub closed pull requests
   :target: https://github.com/Argmaster/pygerber/pulls

.. image:: https://img.shields.io/github/issues-raw/Argmaster/pygerber?style=flat
   :alt: GitHub issues
   :target: https://github.com/Argmaster/pygerber/issues

.. image:: https://img.shields.io/github/languages/code-size/Argmaster/pygerber
   :alt: GitHub code size in bytes
   :target: https://github.com/Argmaster/pygerber

.. image:: https://img.shields.io/pypi/v/pygerber?style=flat
   :alt: PyPI Package latest release
   :target: https://pypi.org/project/pygerber

.. image:: https://img.shields.io/pypi/wheel/pygerber?style=flat
   :alt: PyPI Wheel
   :target: https://pypi.org/project/pygerber

.. image:: https://img.shields.io/pypi/pyversions/pygerber?style=flat
   :alt: Supported versions
   :target: https://pypi.org/project/pygerber

.. image:: https://img.shields.io/pypi/implementation/pygerber?style=flat
   :alt: Supported implementations
   :target: https://pypi.org/project/pygerber

PyGerber is a Python library for 2D and 3D rendering of Gerber X3 files.
It is completely written in Python, and only dependencies are limiting
its portability.

**This package is a Free Software; it is released under MIT license**.
Be aware that dependencies might be using different licenses.

PyGerber offers a CLI and API for Python to allow easy rendering of
Gerber files. Parser was build with GBR X3 format in mind, however, it
has extensive support for older standards and deprecated features.
Package is using third party libraries for low level drawing and mesh
creation.

*PyGerber's parser was not mend to be used by package users, but there
are no obstacles preventing you from using it. However, stability of the
API is not guaranteed between minor releases (I'll do my best to make it
stable among patches).*

**************
 Installation
**************

PyGerber is available on PyPI and can be obtained via pip

.. code:: bash

   pip install pygerber

You can also install the in-development version from github with

.. code:: bash

   pip install https://github.com/Argmaster/pygerber/archive/main.zip

Blender dependency issue mentioned in previous releases was resolved by
using `PyR3 package <https://pypi.org/project/PyR3/>`_ which provides
Blender. **However, blender has to be installed independently from
package by calling PyR3.install_bpy script**:

.. code::

   python -m PyR3.install_bpy

Before You try to use 3D rendering.

***************
 Compatibility
***************

PyGerber officially runs on Python 3.9.* and only on this version.
However it may be possible to run 2D rendering on other Python versions
that are supported by Pillow.

I'll consider bringing Python 3.8 3D rendering support, but no sooner
than after implementation of full set of 3D rendering features and
macros support.

***************
 Documentation
***************

Documentation of this library is available at
https://pygerber.readthedocs.io/


Changelog
=========

0.0.0 (2021-09-25)
------------------

* First release on PyPI.
* Added 2D rendering

1.0.0 (2021-10-06)
------------------

* Added 3D rendering (not full-featured)
* Added CLI and API for 3D rendering
* Installing bpy is required for 3D rendering

1.0.1 (2021-10-08)
------------------

* Added promised documentation for CLI
* Added promised documentation for project specfiles
* Fixed RTD python version requirement building issue
* Updated devlopment pipeline


