Skip to main content

Peer-to-peer networked 3d printing

Project description

PeerPrint

build status

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

python3 -m build
python3 -m twine upload --repository testpypi dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peerprint-0.3.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peerprint-0.3.0-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file peerprint-0.3.0.tar.gz.

File metadata

  • Download URL: peerprint-0.3.0.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for peerprint-0.3.0.tar.gz
Algorithm Hash digest
SHA256 22f62fe5581bdd3360c95d537ae90043b2514709a2da03c0fcc1dc37522e7e93
MD5 479218a4d6b43d42217a16280de160dd
BLAKE2b-256 9dec07fb68aa539187f5b58bb883b8d80d8768ae1f0757ccc5422f295b72a540

See more details on using hashes here.

File details

Details for the file peerprint-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: peerprint-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for peerprint-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2514a038a8340694c6d5bf5af5ae66ee1f5faa4a5f94f4913d51d544621421a
MD5 316a6f37ec9e5712ca4f867f69530940
BLAKE2b-256 78d2bae524b41c3deaa71f934707f6262815594c720ddabe81e6b18aa14df1ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page