Peer-to-peer networked 3d printing
Project description
PeerPrint
PeerPrint is a framework for sharing 3D printing tasks across a peer-to-peer network of 3D printers.
Mission
PeerPrint's mission is to facilitate coordination of a diverse network of 3D printers to enable efficient, reliable, and scalable 3D printing.
According to the US EPA, industry and transportation contribute over 50% of all greenhouse gas emissions.
While 3D printing (particularly filament) is not emissions-free, networked printing through peerprint can provide:
- better efficiency (fewer printers that are idle less often)
- eco-friendly material choices, rather than new plastic which is recycled less than 10% of the time.
- lower transportation costs (transporting 1kg of filament uses way fewer boxes, packaging, and transportation volume than tens - or hundreds - of small parts)
More 3D printers coordinating on the same work also means more parallelism in printing, and less disruption when one or more printers develops a problem and stops printing.
Integration
PeerPrint is not intended to be used directly, although it can be for development and monitoring purposes. Instead, it's imported as a dependency of other 3D printing software.
Integration in Octoprint via the Continuous Print plugin is tracked here. There is not currently a guide for integration, but one will emerge as part of that effort.
Development
Installation
Installation for development requires Docker and docker-compose. Install these first, then get the repository with
git clone https://github.com/smartin015/peerprint
Usage
Start the test servers:
docker-compose build && docker-compose run
In a new console, run this to start a debug shell into one of the servers:
docker-compose run cli --volume=./peerprint/networking/testdata/server1/
Type help to see a list of all commands, or see how they're implemented in peerprint/peerprint/server.py in the Shell class.
Testing
See .travis.yml for CI testing configuration
All tests can also be run manually via docker-compose run test
Deploying
pip3 install build twine
cd peerprint && ./build_multiarch.sh
cd .. && python3 -m build
python3 -m twine upload --repository testpypi dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file peerprint-0.3.1.tar.gz.
File metadata
- Download URL: peerprint-0.3.1.tar.gz
- Upload date:
- Size: 79.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfdd5f73c082bec6ac96d470f7aa9c844473e4845e99ceadf1887c386ce62400
|
|
| MD5 |
d4ae6364d15a6ab5dc77c3b08fb0d523
|
|
| BLAKE2b-256 |
dbcd81821253f59fe82464aaba655a86028494d93d4b3ffdf5aa3bdf9ce930c7
|
File details
Details for the file peerprint-0.3.1-py3-none-any.whl.
File metadata
- Download URL: peerprint-0.3.1-py3-none-any.whl
- Upload date:
- Size: 79.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e1184f800cc0e53536fe7095e05dfa1a3458f0122a9de7604f7a849c6e9f9d5
|
|
| MD5 |
ffa2cde496bbe22cc09f92b04f0c772b
|
|
| BLAKE2b-256 |
ed830660e4af5bed03571bb5d485089064592ce8fb707fcd73a9b753306be291
|