Skip to content

BCN3D/Uranium

 
 

Repository files navigation

Uranium

Uranium is a Python framework for building 3D printing related applications.

License

License
Uranium is released under terms of the LGPLv3 License. Terms of the license can be found in the LICENSE file. Or at http://www.gnu.org/licenses/lgpl.html

But in general it boils down to:
You need to share the source of any Uranium modifications if you make an application with Uranium.

How to set up a development environment

Note:
We are currently in the process of switch our builds and pipelines to an approach which uses Conan and pip to manage our dependencies, which are stored on our JFrog Artifactory server and in the pypi.org. At the moment not everything is fully ported yet, so bare with us.

If you want to develop Cura with Uranium see the Cura Wiki: Running Cura from source

If you have never used Conan read their documentation which is quite extensive and well maintained. Conan is a Python program and can be installed using pip

pip install conan --upgrade
conan config install https://github.com/ultimaker/conan-config.git
conan profile new default --detect

Community developers would have to remove the Conan cura repository because that one requires credentials.

conan remote remove cura

Install Uranium dependencies

conan install . --build=missing --profile=default -o uranium:devtools=True -g VirtualPythonEnv

This will create a Virtual Python Environment and install all the dependencies. You can then activate and run the unittests.

# For Linux/MacOS
source venv/bin/activate
cd tests
pytest
# For Windows (Powershell)
.\venv\Scripts\activate.ps1
cd tests
pytests

Creating a new Uranium Conan package

To create a new Uranium Conan package such that it can be used in Cura, run the following command:

conan create . uranium/<version>@<username>/<channel> --build=missing --update

This package will be stored in the local Conan cache (~/.conan/data or C:\Users\username\.conan\data ) and can be used in downstream projects, such as Cura, by adding it as a requirement in the conanfile.py or in conandata.yml if that project is set up in such a way. You can also specify the override at the commandline, to use the newly created package, when you execute the conan install command in the root of the consuming project, with:

conan install . -build=missing --update --require-override=uranium/<version>@<username>/<channel>

About

A Python framework for building Desktop applications.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.1%
  • QML 4.6%
  • CMake 1.1%
  • Other 1.2%