Uranium is a Python framework for building 3D printing related applications.
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.
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 --detectCommunity developers would have to remove the Conan cura repository because that one requires credentials.
conan remote remove curaconan install . --build=missing --profile=default -o uranium:devtools=True -g VirtualPythonEnvThis 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
pytestsTo 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 --updateThis 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>