Skip to main content
File added late

1 file was added to this release more than 14 days after its initial publication. Inspect the release files before installing.

Tangible

Travis-CI build status Coverage Status Downloads per Month Latest Version Wheel Availability

Tangible is a Python library to convert data into tangible 3D models. It generates code for different backends like OpenSCAD or ImplicitSCAD. It is inspired by projects like OpenSCAD and d3.js.

Example 1

Implementation

The difference from Projects like SolidPython is that Tangible is a modular system with an intermediate representation of objects that is capable of generating code for different backends, not just OpenSCAD. Additionally, its main focus is not general CAD, but printable 3D visualization of data.

The workflow to get a real object from data is as follows:

Python code => Intermediate representation (AST) => Programmatic CAD code
=> STL file => Slicer => G code => 3D printer => Tangible object

Of these, Tangible does the first three steps. The fourth step is handled by a programmatic CAD tool like OpenSCAD or ImplicitSCAD and the last four steps are handled by the specific 3D printer software.

Currently supported Python versions are 2.6 and 2.7. Support for 3.3+ is planned.

This library was my student research project thesis at HSR. You can find the thesis paper here: http://dbrgn.ch/sa-thesis.pdf

Contributions are very welcome! Please open an issue or a pull request.

Installation

You can install Tangible directly via PyPI:

pip install tangible

If you want the current development version:

pip install -e git+https://github.com/dbrgn/tangible#egg=tangible-dev

Documentation

Documentation can be found on ReadTheDocs: http://tangible.readthedocs.org/

If you want to know more about the architecture of the library, please refer to my thesis PDF.

Coding Guidelines

PEP8 via flake8 with max-line-width set to 99 and E126-E128,E266,E731 ignored.

All Python files must start with an UTF8 encoding declaration and some future-imports:

# -*- coding: utf-8 -*-
from __future__ import print_function, division, absolute_import, unicode_literals

Docstrings convention: Sphinx style.

Testing

Prepare:

pip install -r requirements-dev.txt --use-mirrors
pip install -e .

Run tests:

py.test

Violations of the PEP8 coding guidelines above will be counted as test fails.

Versioning

Tangible implements Semantic Versioning 2.0.

License

LGPLv3 or later http://www.gnu.org/licenses/lgpl.html

Metadata

Release files for tangible 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

File added late

1 file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for tangible 0.2.2
File Size Uploaded
tangible-0.2.2.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tangible 0.2.2
File Interpreter ABI Platform
tangible-0.2.2-py2-none-any.whl Python 2 none any Details

Total release size: 34.6 kB

Release files / tangible-0.2.2.tar.gz

Download URL tangible-0.2.2.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f62ffcfbde727ab8e4180ce54534eda7d62bf76a8b09046260ed70f51a3743db
BLAKE2b-256 checksum
How to use checksums
907e53b97056fc02457ebd7bbc30824059d973733a8f1b0877392b2a56f09bbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / tangible-0.2.2-py2-none-any.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL tangible-0.2.2-py2-none-any.whl
Size 19.5 kB
Tags Python 2
SHA-256 checksum
How to use checksums
c91e39d01bf0182705e14fe5c8fcb57d3cda77c99dcfaac0abffdf46de835985
BLAKE2b-256 checksum
How to use checksums
fea89b22a0c328d9cea26f2c0742f9f63eb8fa1d6b1ae9d52f48567e949aec0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page