Metadata-Version: 2.1
Name: cassini
Version: 0.3.0a16
Summary: A tool to structure experimental work, data and analysis using Jupyter Lab.
License: GPL-3.0-only
Author: 0Hughman0
Author-email: rammers2@hotmail.co.uk
Requires-Python: >=3.8.1,<4.0.0
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: cassini-lib
Provides-Extra: ipygui
Requires-Dist: ipywidgets (>=8.0,<9.0)
Requires-Dist: jupyter_cassini_server (>=0.3.0a0,<0.4.0)
Requires-Dist: jupyterlab (>=4.0.0,<5.0.0)
Requires-Dist: pandas (>=1.0,<2.0) ; extra == "ipygui"
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
Requires-Dist: semantic-version (>=2.10.0,<3.0.0) ; extra == "cassini-lib"
Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
Description-Content-Type: text/markdown

# Cassini

An electronic laboratory notebook (ELN), built inside Jupyter Lab.

Cassini's goal is to help you explore, analyse and organise your data in an environment that's familiar.

![Screenshot](demo.gif)

## Features

* **Structure your project** into a logical hierarchy _- no more lost data!_
* **Retreive any data from anywhere**, by name _- no more copy and pasting data here there and everywhere!_
* **Navigate and explore** your project through a fast, specialised browser _- no more endless clicking through folders!_
* **Preview summaries of experiment parameters and results**, including graphs, temperatures, volumes, weights _- no more waiting around for notebooks to launch!_
* **Define reusable templates** for proceedures and analysis _- no more copy and pasting code snippets!_

## Installation and Setup

    > pip install cassini

Create a `cas_project.py`:

    # cas_project.py
    from cassini import Project, DEFAULT_TIERS    

    project = Project(DEFAULT_TIERS, __file__)

    if __name__ == '__main__':
        project.launch()

And launch it:

    > python project.py

Head to [Quickstart](https://0hughman0.github.io/Cassini/0.3.x/) for more info.

## Contributing

Contributing guidelines are found [here](https://0hughman0.github.io/Cassini/0.3.x/contributing/).

This includes development installation instructions and codebase orientation.

