PyR3 0.3.0
A set of tools extending the capabilities of bpy (blender as a python module).
License: MIT
Requires Python: ==3.9.*
Keywords: python-3,python-3.9

.. image:: https://raw.githubusercontent.com/Argmaster/pyr3/main/docs/_static/logo_wide.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The PyR3 package serves two purposes:
   -  provides blender in form of python package (bpy)
   -  contains useful shortcuts and abstractions over bpy API

**This package is released under MIT license**. Be aware that
dependencies might be using different licenses.

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

PyR3 is available on Python Package Index and can be installed
automatically with **pip**:

.. code::

   pip install PyR3

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

.. code::

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

*****************************
 Complicated bpy requirement
*****************************

Unlike previous releases, since 0.2.2 bpy is no longer automatically
installed when importing PyR3, as this solution was not what's expected
by typical developer.

Now to install bpy automatically you have to invoke **PyR3.install_bpy**
module:

.. code::

   python -m PyR3.install_bpy

Or you can use install_bpy_lib() function from this module. After
installing bpy it has to be manually uninstalled. It may happen that in
future releases some uninstall script will be created, but for now
manual removal is the only way.

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

Documentation is available on-line at https://pyr3.readthedocs.io/

You can also build documentation yourself using tox:

.. code::

   git clone hhttps://github.com/Argmaster/pyr3.git
   cd PyR3
   tox -e docs


Changelog
=========

0.0.0 (2021-09-27)
------------------

* First release on PyPI.

0.1.0 (2021-10-01)
------------------

* Added Modifiers: Boolean, Array, Solidify and Bevel
* Added fromPyData()
* Improved documentation
* Added example files
* Added dark theme to docs

0.1.1 (2021-10-01)
------------------

* Hotfix of missing dependencies in package

0.1.2 (2021-10-01)
------------------

* Hotfix of export/import API

0.2.0 (2021-10-03)
------------------

* Added materials shortcuts
* Updated documentation
* Bpy is no longer automatically installed
* Bpy can be now installed via PyR3.install_bpy script

0.2.3 (2021-10-03)
------------------

* Updated documentation

0.3.0 (2021-10-21)
------------------

* Introduced new development pipeline
* Extendent usage documentation
* .blend1 files no longer can be imported/exported with shortcuts.io functions
* Added LibraryManager class for managing 3D component libraries
* Added LibraryObject class responsible for managing libraries
* Added LibraryInfoV1_0_0 and ModelInfoV1_0_0 classes for ``__lib__.yaml`` version 1.0.0 files validation
* Added way to extend set tags of a model from ``__lib__.yaml`` - via ``__user__.yaml``
* Added documentation for newest features
* Added MeshProject class and project configuration convention
* Added PlaceFile class which can parse place file and convert it into MeshProject file
* Added PyR3.construct CLI for operating on MeshProject files
* Added PyR3.meshlib CLI for operating on mesh libraries