science-jubilee


Namescience-jubilee JSON
Version 0.3.2 PyPI version JSON
download
home_pagehttps://github.com/machineagency/science-jubilee
SummaryMake science with Jubilee
upload_time2024-05-29 12:49:12
maintainerNone
docs_urlNone
authorMachine Agency, Pozzo Research Group
requires_python>=3.8
licenseMIT
keywords jubilee science
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # πŸ”¬πŸ§ͺ Science Jubilee βš‘βš™οΈ
### Controlling Jubilees for Science!

<!-- [![Built Status](https://api.cirrus-ci.com/github/<USER>/science-jubilee.svg?branch=main)](https://cirrus-ci.com/github/<USER>/science-jubilee) -->
[![ReadTheDocs](https://readthedocs.org/projects/science-jubilee/badge/?version=latest)](https://science-jubilee.readthedocs.io/en/stable/)
<!--- [![Coveralls](https://img.shields.io/coveralls/github/machineagency/science-jubilee/main.svg)](https://coveralls.io/r/machineagency/science-jubilee) --->
[![PyPI-Server](https://img.shields.io/pypi/v/science-jubilee.svg)](https://pypi.org/project/science-jubilee/)
<!-- [![Conda-Forge](https://img.shields.io/conda/vn/conda-forge/science-jubilee.svg)](https://anaconda.org/conda-forge/science-jubilee) -->
[![Monthly Downloads](https://pepy.tech/badge/science-jubilee/month)](https://pepy.tech/project/science-jubilee)
[![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Twitter)](https://twitter.com/machine_agency)
[![Project generated with PyScaffold](https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold)](https://pyscaffold.org/)

> Use an open-source toolchanger to do science

<p align="center"><img src="./docs/_static/pipetting.gif" width="800"/></p>

This repository hosts files to build and control a [Jubilee](https://jubilee3d.com/index.php?title=Main_Page) for scientific applications. The core of the software is a Python interface for Jubilee to navigate labware installed in the machine. We currently provide assembly instructions, control software, and examples for various tools including OT-2 pipettes, syringes, and cameras. While these tools might cater exactly to your planned use case, they most likely will not! We share these files as a starting point rather than an endpoint: we also provide instructions for developing new tools and associated software for controlling them. We hope you will build new tools for your application and contribute them back to the community for others to use and extend πŸ› οΈ

_Check out the [Documentation](https://machineagency.github.io/science-jubilee/) to get started!_


## Overview
### Hardware
This repository is designed to be used with the Jubilee platform, outfitted with tools for laboratory automation. Jubilee an open-source & extensible multi-tool motion platformβ€”if that doesn't mean much to you, you can think of it as a 3D printer that can change its tools. You can read about [Jubilee](https://jubilee3d.com/index.php?title=Main_Page) more generally at the project page.

### Software
The software here is intended to control Jubilee from Python scripts or Jupyter notebooks to design and run experiments. The folders are organized as follows:
```
calibration/                 # notebooks to support machine & tool setup/calibration
tool_library/                # design files, assembly instructions, & configuration info for all tools & plates
src/
└── science_jubilee/
    β”œβ”€β”€ Machine.py               # jubilee machine driver
    β”œβ”€β”€ tools/
    β”‚   β”œβ”€β”€ configs/             # all tool configs are here
    β”‚   β”œβ”€β”€ Tool.py              # base tool class
    β”‚   └── ...                  # all tool modules are here
    β”œβ”€β”€ decks/
    β”‚   β”œβ”€β”€ configs/             # all deck configs are here
    β”‚   β”œβ”€β”€ Deck.py              # base deck class
    β”‚   └── ...                  # all deck modules are here
    └── labware/
        β”œβ”€β”€ labware_definitions/ # all labware definitions are here
        └── Labware.py           # base labware class
```

### Labware and Wetware
The basic functionality supported by this software is intended to be used with a custom deck which accommodates up to 6 standard sized microplates.

### Using science_jubilee
You can import and use `science_jubilee` modules by importing the modules you need at the top of your python file/notebook. For example, if we want to pipette using a lab automation deck, we might write:
```python
from science_jubilee.Machine import Machine                             # import machine driver
from science_jubilee.decks.LabAutomationDeck import LabAutomationDeck   # import lab automation deck module
from science_jubilee.tools.Pipette import Pipette                       # import pipette module
...                                                                     # you can import other decks/tools here, or make your own!
```
We can then make use of these modules in our code:
```python
m = Machine()                                                  # connect to your jubilee
deck = m.load_deck(deck_config_name)                           # setup your deck
tip_rack = deck.load_labware(opentrons_96_tiprack_300ul, 0)    # install an opentrons tip rack in slot 0 of the deck
pipette = Pipette(<index>, <name>, <tip_rack>, <config_file>)  # instantiate your pipette tool
m.load_tool(pipette)                                           # configure the pipette for use on the machine
...
```


<!-- pyscaffold-notes -->

## Note

This project has been set up using PyScaffold 4.5. For details and usage
information on PyScaffold see https://pyscaffold.org/.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/machineagency/science-jubilee",
    "name": "science-jubilee",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "jubilee, science",
    "author": "Machine Agency, Pozzo Research Group",
    "author_email": "b1air@uw.edu, politim@uw.edu, bgpelkie@uw.edu",
    "download_url": "https://files.pythonhosted.org/packages/6c/da/3cedd9b38f8ff51f5e6488bd0167570d24bb92cda36b84e84092a05bb062/science_jubilee-0.3.2.tar.gz",
    "platform": "any",
    "description": "# \ud83d\udd2c\ud83e\uddea Science Jubilee \u26a1\u2699\ufe0f\n### Controlling Jubilees for Science!\n\n<!-- [![Built Status](https://api.cirrus-ci.com/github/<USER>/science-jubilee.svg?branch=main)](https://cirrus-ci.com/github/<USER>/science-jubilee) -->\n[![ReadTheDocs](https://readthedocs.org/projects/science-jubilee/badge/?version=latest)](https://science-jubilee.readthedocs.io/en/stable/)\n<!--- [![Coveralls](https://img.shields.io/coveralls/github/machineagency/science-jubilee/main.svg)](https://coveralls.io/r/machineagency/science-jubilee) --->\n[![PyPI-Server](https://img.shields.io/pypi/v/science-jubilee.svg)](https://pypi.org/project/science-jubilee/)\n<!-- [![Conda-Forge](https://img.shields.io/conda/vn/conda-forge/science-jubilee.svg)](https://anaconda.org/conda-forge/science-jubilee) -->\n[![Monthly Downloads](https://pepy.tech/badge/science-jubilee/month)](https://pepy.tech/project/science-jubilee)\n[![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Twitter)](https://twitter.com/machine_agency)\n[![Project generated with PyScaffold](https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold)](https://pyscaffold.org/)\n\n> Use an open-source toolchanger to do science\n\n<p align=\"center\"><img src=\"./docs/_static/pipetting.gif\" width=\"800\"/></p>\n\nThis repository hosts files to build and control a [Jubilee](https://jubilee3d.com/index.php?title=Main_Page) for scientific applications. The core of the software is a Python interface for Jubilee to navigate labware installed in the machine. We currently provide assembly instructions, control software, and examples for various tools including OT-2 pipettes, syringes, and cameras. While these tools might cater exactly to your planned use case, they most likely will not! We share these files as a starting point rather than an endpoint: we also provide instructions for developing new tools and associated software for controlling them. We hope you will build new tools for your application and contribute them back to the community for others to use and extend \ud83d\udee0\ufe0f\n\n_Check out the [Documentation](https://machineagency.github.io/science-jubilee/) to get started!_\n\n\n## Overview\n### Hardware\nThis repository is designed to be used with the Jubilee platform, outfitted with tools for laboratory automation. Jubilee an open-source & extensible multi-tool motion platform\u2014if that doesn't mean much to you, you can think of it as a 3D printer that can change its tools. You can read about [Jubilee](https://jubilee3d.com/index.php?title=Main_Page) more generally at the project page.\n\n### Software\nThe software here is intended to control Jubilee from Python scripts or Jupyter notebooks to design and run experiments. The folders are organized as follows:\n```\ncalibration/                 # notebooks to support machine & tool setup/calibration\ntool_library/                # design files, assembly instructions, & configuration info for all tools & plates\nsrc/\n\u2514\u2500\u2500 science_jubilee/\n    \u251c\u2500\u2500 Machine.py               # jubilee machine driver\n    \u251c\u2500\u2500 tools/\n    \u2502   \u251c\u2500\u2500 configs/             # all tool configs are here\n    \u2502   \u251c\u2500\u2500 Tool.py              # base tool class\n    \u2502   \u2514\u2500\u2500 ...                  # all tool modules are here\n    \u251c\u2500\u2500 decks/\n    \u2502   \u251c\u2500\u2500 configs/             # all deck configs are here\n    \u2502   \u251c\u2500\u2500 Deck.py              # base deck class\n    \u2502   \u2514\u2500\u2500 ...                  # all deck modules are here\n    \u2514\u2500\u2500 labware/\n        \u251c\u2500\u2500 labware_definitions/ # all labware definitions are here\n        \u2514\u2500\u2500 Labware.py           # base labware class\n```\n\n### Labware and Wetware\nThe basic functionality supported by this software is intended to be used with a custom deck which accommodates up to 6 standard sized microplates.\n\n### Using science_jubilee\nYou can import and use `science_jubilee` modules by importing the modules you need at the top of your python file/notebook. For example, if we want to pipette using a lab automation deck, we might write:\n```python\nfrom science_jubilee.Machine import Machine                             # import machine driver\nfrom science_jubilee.decks.LabAutomationDeck import LabAutomationDeck   # import lab automation deck module\nfrom science_jubilee.tools.Pipette import Pipette                       # import pipette module\n...                                                                     # you can import other decks/tools here, or make your own!\n```\nWe can then make use of these modules in our code:\n```python\nm = Machine()                                                  # connect to your jubilee\ndeck = m.load_deck(deck_config_name)                           # setup your deck\ntip_rack = deck.load_labware(opentrons_96_tiprack_300ul, 0)    # install an opentrons tip rack in slot 0 of the deck\npipette = Pipette(<index>, <name>, <tip_rack>, <config_file>)  # instantiate your pipette tool\nm.load_tool(pipette)                                           # configure the pipette for use on the machine\n...\n```\n\n\n<!-- pyscaffold-notes -->\n\n## Note\n\nThis project has been set up using PyScaffold 4.5. For details and usage\ninformation on PyScaffold see https://pyscaffold.org/.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Make science with Jubilee",
    "version": "0.3.2",
    "project_urls": {
        "Documentation": "https://science-jubilee.readthedocs.io/",
        "Homepage": "https://github.com/machineagency/science-jubilee",
        "Source": "https://github.com/machineagency/science-jubilee",
        "Tracker": "https://github.com/machineagency/science-jubilee/issues",
        "Twitter": "https://twitter.com/machine_agency"
    },
    "split_keywords": [
        "jubilee",
        " science"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a9fc29c572bdc3afe3ae3b33d5dc116e52cf5b9c3c2f0ad3f9394d366a84bea",
                "md5": "243c818af62b874dc052762da736b5c1",
                "sha256": "aa0d12cd2f7ed1b69b483bc613d9c7b0d36379783064e500ab9150a7468cb731"
            },
            "downloads": -1,
            "filename": "science_jubilee-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "243c818af62b874dc052762da736b5c1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 103218,
            "upload_time": "2024-05-29T12:49:10",
            "upload_time_iso_8601": "2024-05-29T12:49:10.991107Z",
            "url": "https://files.pythonhosted.org/packages/3a/9f/c29c572bdc3afe3ae3b33d5dc116e52cf5b9c3c2f0ad3f9394d366a84bea/science_jubilee-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6cda3cedd9b38f8ff51f5e6488bd0167570d24bb92cda36b84e84092a05bb062",
                "md5": "13c969d317a2a63fe089509be77d7708",
                "sha256": "79f096eb683c921975c3a6b988c7a80a0cb2fce86a5c93aea0975912df802a41"
            },
            "downloads": -1,
            "filename": "science_jubilee-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "13c969d317a2a63fe089509be77d7708",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 101790,
            "upload_time": "2024-05-29T12:49:12",
            "upload_time_iso_8601": "2024-05-29T12:49:12.162927Z",
            "url": "https://files.pythonhosted.org/packages/6c/da/3cedd9b38f8ff51f5e6488bd0167570d24bb92cda36b84e84092a05bb062/science_jubilee-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-29 12:49:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "machineagency",
    "github_project": "science-jubilee",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "science-jubilee"
}
        
Elapsed time: 4.43207s