Skip to main content

godata is a full-service data management tool for scientists working with data in Python. It allows you to forget about files and think more about your science. godata is suited to interactive computing (such as notebooks) or scripts producing hundreds or even thousands of outputs. It is generally thread-safe, and changes are immediately available across all Python interpreters on your system.

Quickstart

godata is available for Python >= 3.10 on Linux and Mac.

godata can be easily installed with pip:

>> pip install godata

The godata server tracks the location of all data in your projects, and runs outside your python interpreter. Install it with:

>> godata server install

From a python terminal, let’s create a new project named ‘My-project’ in collection ‘My-collection’:

>> from godata import create_project
>> project = create_project("My-project", collection="My-collection")
Project My-project created in collection My-collection

In godata, projects hold files and folders while collections group related projects together.

Let’s create some pretend data and store it in the project:

>> import numpy as np
>> data = np.random.rand(1000, 1000)
>> project.store(data, "data/my-important-data")
True

This data is now available wherever godata is installed. From a separte python terminal:

>> from godata import load_project
>> project = load_project("My-project", collection="My-collection")
Sucessfully loaded project My-collection/My-project

>> data = project.get("data/my-important-data")
>> data
array([[0.17953348, 0.46537863, 0.05551358, ..., 0.3526392 , 0.88688146,
        0.03827608],
        [0.10724396, 0.6594922 , 0.5464358 , ..., 0.25741847, 0.69896045,
        0.39693609],
        [0.13837611, 0.26225224, 0.17050776, ..., 0.07945242, 0.25077166,
        0.9795102 ],
        ...,
        [0.44973845, 0.30379528, 0.90120586, ..., 0.55909527, 0.72301093,
        0.52067499],
        [0.60742971, 0.41941807, 0.82986818, ..., 0.57479954, 0.04413556,
        0.6444287 ],
        [0.10467444, 0.52236499, 0.54443629, ..., 0.35378595, 0.07125344,
        0.59053222]])

godata is not a substitute for good organization. You should still try to give your files and folders informative names. But godata handles all output and input of python objects, and tracks where files are so you don’t have to remember.

If you’ve ever forgotten what’s in a given folder, it’s easy to check:

>> project.ls()
Project `My-project` root:
--------------------------
data/

>> project.ls("data")
My-project/data:
----------------
my-important-data

For more programattic access, you can also get lists of the files and folders at a given path with project.list. You can remove a file from your project just as easily:

>> project.remove("data/my-important-data")
True

>> project.list()
{'folders': [], 'files': []}

godata doesn’t want you to have to think about creating or deleting folders. The folder ‘data’ was automatically deleted when the last file was removed from it. You may have also noticed it was also automatically created when you put an object in it.

Metadata

Release files for godata 0.10.2

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

Source distribution (sdist)

Source distribution for godata 0.10.2
File Size Uploaded
godata-0.10.2.tar.gz 33.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for godata 0.10.2
File Interpreter ABI Platform
godata-0.10.2-py3-none-any.whl Python 3 none any Details

Total release size: 73.3 kB

Release files / godata-0.10.2.tar.gz

Download URL godata-0.10.2.tar.gz
Size 33.9 kB
Tags Source
SHA-256 checksum
How to use checksums
588fdd59913f9a9b9d89103b7b040d57ca2ca2dc9e1ba026d839bb4b59b1fc59
BLAKE2b-256 checksum
How to use checksums
a14d8d9f4d3114324810eb348c9d0835900287fedc5fff5091a239ac18c757df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.1 Linux/6.5.0-1018-azure

Release files / godata-0.10.2-py3-none-any.whl

Download URL godata-0.10.2-py3-none-any.whl
Size 39.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91fcfe64c1a3635875bf1385b73088da36278e921a817e544f8ab0d3bac7af86
BLAKE2b-256 checksum
How to use checksums
ae549960b10336cafcf36f23a816d20a3e4a3dff174c6bda6a15b711e825316f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.1 Linux/6.5.0-1018-azure

Release history Release notifications | RSS feed

This release

0.10.2 This release

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.3.0

40 release files

0.2.9

40 release files

0.2.8

40 release files

0.2.7

40 release files

0.2.6

40 release files

0.2.5

40 release files

0.2.4

40 release files

0.2.3

40 release files

0.2.2

40 release files

0.2.1

40 release files

0.1.0

2 release files

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