oasysdb


Nameoasysdb JSON
Version 0.4.4 PyPI version JSON
download
home_pagehttps://oasysai.com/
SummaryFast embedded vector database with incremental HNSW indexing.
upload_time2024-04-27 00:25:08
maintainerNone
docs_urlNone
authorEdwin Kys, Oasys
requires_python>=3.8
licenseApache-2.0
keywords embedded vector database hnsw ann
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![OasysDB Use Case](https://i.postimg.cc/k4x4Q55k/banner.png)

[![GitHub Stars](https://img.shields.io/github/stars/oasysai/oasysdb?label=Stars&logo=github&style=for-the-badge&color=%23fcd34d)](https://github.com/oasysai/oasysdb)
[![Discord](https://img.shields.io/discord/1182432298382131200?logo=discord&logoColor=%23ffffff&label=Discord&style=for-the-badge)](https://discord.gg/bDhQrkqNP4)
[![Crates.io](https://img.shields.io/crates/d/oasysdb?style=for-the-badge&logo=rust&label=Crates.io&color=%23f43f5e)](https://crates.io/crates/oasysdb)
[![PyPI](https://img.shields.io/pypi/dm/oasysdb?style=for-the-badge&label=PyPI&logo=python&logoColor=ffffff&color=%232dd4bf)](https://pypi.org/project/oasysdb/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=for-the-badge)](/docs/code_of_conduct.md)

# ๐Ÿ‘‹ Meet OasysDB

OasysDB is a **lightweight** and **easy-to-use** embedded vector database written in Rust. With its simple API, it requires no learning curve to understand and use. OasysDB also requires no server setup and configuration. It is designed to be embedded directly inside your AI application simply by adding it as a dependency.

```bash
# Rust via Crates.io
cargo add oasysdb

# Python via PyPI
pip install oasysdb
```

## Use Cases

OasysDB is very flexible! You can use it for systems related with vector similarity search such as:

- Local RAG (Retrieval-Augmented Generation) pipeline with an LLM and embedding model to generate a context-aware output.
- Image similarity search engine to find similar images based on their semantic content. [See Python demo](https://colab.research.google.com/drive/15_1hH7jGKzMeQ6IfnScjsc-iJRL5XyL7?usp=sharing).
- Real-time product recommendation system to suggest similar products based on the product features or user preferences.
- Add your use case here ๐Ÿ˜

## Features

### Core Features

๐Ÿ”ธ **Embedded Database**: Zero setup & no server required.\
๐Ÿ”ธ **Optional Persistence**: In-memory or disk-based collection.\
๐Ÿ”ธ **Incremental Ops**: Modify vectors without rebuilding indexes.\
๐Ÿ”ธ **Flexible Schema**: Store additional metadata for each vector.

### Technical Features

๐Ÿ”น **Fast HNSW**: Efficient approximate vector similarity search.\
๐Ÿ”น **Configurable Metric**: Use Euclidean, Cosine, or other metric.\
๐Ÿ”น **Parallel Processing**: Multi-threaded & SIMD optimized calculation.\
๐Ÿ”น **Built-in Incremental ID**: No headache vector record management.

## Design Philosophy

OasysDB is designed to be boring ๐Ÿ˜‚

Simple and easy to use API with no learning curve. No worries about setting up a server or configuring the database. We want you to forget about the vector database stuff and actually focus on building your AI application fast.

Read more about the design philosophy of OasysDB in the [Comprehensive Guide](/docs/guide.md).

# ๐Ÿš€ Quickstart with Rust

![Rust-Banner.png](https://i.postimg.cc/NMCwFBPd/Rust-Banner.png)

To get started with OasysDB in Rust, you need to add `oasysdb` to your `Cargo.toml`. You can do so by running the command below which will add the latest version of OasysDB to your project.

```bash
cargo add oasysdb
```

After that, you can use the code snippet below as a reference to get started with OasysDB. In short, use `Collection` to store your vector records or search similar vector and use `Database` to persist a vector collection to the disk.

```rust
use oasysdb::prelude::*;

fn main() {
    // Vector dimension must be uniform.
    let dimension = 128;

    // Replace with your own data.
    let records = Record::many_random(dimension, 100);

    let mut config = Config::default();

    // Optionally set the distance function. Default to Euclidean.
    config.distance = Distance::Cosine;

    // Create a vector collection.
    let collection = Collection::build(&config, &records).unwrap();

    // Optionally save the collection to persist it.
    let mut db = Database::new("data/test").unwrap();
    db.save_collection("vectors", &collection).unwrap();

    // Search for the nearest neighbors.
    let query = Vector::random(dimension);
    let result = collection.search(&query, 5).unwrap();

    for res in result {
        let (id, distance) = (res.id, res.distance);
        println!("{distance:.5} | ID: {id}");
    }
}
```

## Dealing with Metadata Types

In OasysDB, you can store additional metadata for each vector which is useful to associate the vectors with other data. The code snippet below shows how to insert the `Metadata` to the `Record` or extract it.

```rust
use oasysdb::prelude::*;

fn main() {
    // Inserting a metadata value into a record.
    let data: &str = "This is an example.";
    let vector = Vector::random(128);
    let record = Record::new(&vector, &data.into());

    // Extracting the metadata value.
    let metadata = record.data.clone();
    let data = match metadata {
        Metadata::Text(value) => value,
        _ => panic!("Data is not a text."),
    };

    println!("{}", data);
}
```

# ๐Ÿš€ Quickstart with Python

![Python-Banner.png](https://i.postimg.cc/rp1qjBZJ/Python-Banner.png)

OasysDB also provides a Python binding which allows you to add it directly to your project. You can install the Python library of OasysDB by running the command below:

```bash
pip install oasysdb
```

This command will install the latest version of OasysDB to your Python environment. After you're all set with the installation, you can use the code snippet below as a reference to get started with OasysDB in Python.

```python
from oasysdb.prelude import *


if __name__ == "__main__":
    # Open the database.
    db = Database("data/example")

    # Replace with your own records.
    records = Record.many_random(dimension=128, len=100)

    # Create a vector collection.
    config = Config.create_default()
    collection = Collection.from_records(config, records)

    # Optionally, persist the collection to the database.
    db.save_collection("my_collection", collection)

    # Replace with your own query.
    query = Vector.random(128)

    # Search for the nearest neighbors.
    result = collection.search(query, n=5)

    # Print the result.
    print("Nearest neighbors ID: {}".format(result[0].id))
```

If you want to learn more about using OasysDB for real-world applications, you can check out the this Google Colab notebook which demonstrates how to use OasysDB to build a simple image similarity search engine: [Image Search Engine with OasysDB](https://colab.research.google.com/drive/15_1hH7jGKzMeQ6IfnScjsc-iJRL5XyL7?usp=sharing)

# ๐ŸŽฏ Benchmarks

OasysDB uses a built-in benchmarking suite using Rust's [Criterion](https://docs.rs/criterion) crate which we use to measure the performance of the vector database.

Currently, the benchmarks are focused on the performance of the collection's vector search functionality. We are working on adding more benchmarks to measure the performance of other operations.

If you are curious and want to run the benchmarks, you can use the command below to run the benchmarks. If you do run it, please share the results with us ๐Ÿ˜‰

```bash
cargo bench
```

## Memory Usage

OasysDB uses HNSW which is known to be a memory hog compared to other indexing algorithms. We decided to use it because of its performance even when storing large datasets of vectors with high dimension.

In the future, we might consider adding more indexing algorithms to make OasysDB more flexible and to cater to different use cases. If you have any suggestions of which indexing algorithms we should add, please let us know.

Anyway, if you are curious about the memory usage of OasysDB, you can use the command below to run the memory usage measurement script. You can tweak the parameters in the `examples/measure-memory.rs` file to see how the memory usage changes.

```bash
cargo run --example measure-memory
```

## Quick Results

Even though the results may vary depending on the hardware and the dataset, we want to give you a quick idea of the performance of OasysDB. Here are some quick results from the benchmarks:

| Collection size | Embedding dimension | Memory usage | Search time |
| :-------------- | :-----------------: | -----------: | ----------: |
| 10,000          |         128         |          7MB |    248.73ยตs |
| 1,000,000       |         128         |        569MB |    555.46ยตs |
| 10,000          |         768         |        302MB |    705.83ยตs |
| 1,000,000       |         768         |      3,011MB |      1.36ms |
| 1,000,000       |        3,072        |          N/A |      3.07ms |
| 1,000,000       |        4,096        |          N/A |      3.87ms |

These results are from a machine with an Apple M3 CPU with 128GB of RAM. The dataset used for the benchmarks is a random dataset generated by the `Record::many_random` function with additional random `usize` as its metadata and a random search vector.

# ๐Ÿค Contributing

The easiest way to contribute to this project is to star this project and share it with your friends. This will help us grow the community and make the project more visible to others.

If you want to go further and contribute your expertise, we will gladly welcome your code contributions. For more information and guidance about this, please see [contributing.md](/docs/contributing.md).

If you have deep experience in the space but don't have the free time to contribute codes, we also welcome advices, suggestions, or feature requests. We are also looking for advisors to help guide the project direction and roadmap.

If you are interested about the project in any way, please join us on [Discord](https://discord.gg/bDhQrkqNP4). Help us grow the community and make OasysDB better ๐Ÿ˜

## Code of Conduct

We are committed to creating a welcoming community. Any participant in our project is expected to act respectfully and to follow the [Code of Conduct](/docs/code_of_conduct.md).

## Disclaimer

This project is still in the early stages of development. We are actively working on it and we expect the API and functionality to change. We do not recommend using this in production yet.


            

Raw data

            {
    "_id": null,
    "home_page": "https://oasysai.com/",
    "name": "oasysdb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "embedded, vector, database, hnsw, ann",
    "author": "Edwin Kys, Oasys",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/28/b4/c4b3f398d20dafa5003c7a95c0244f663fa37c9bcb83cfaa642fa83824c8/oasysdb-0.4.4.tar.gz",
    "platform": null,
    "description": "![OasysDB Use Case](https://i.postimg.cc/k4x4Q55k/banner.png)\n\n[![GitHub Stars](https://img.shields.io/github/stars/oasysai/oasysdb?label=Stars&logo=github&style=for-the-badge&color=%23fcd34d)](https://github.com/oasysai/oasysdb)\n[![Discord](https://img.shields.io/discord/1182432298382131200?logo=discord&logoColor=%23ffffff&label=Discord&style=for-the-badge)](https://discord.gg/bDhQrkqNP4)\n[![Crates.io](https://img.shields.io/crates/d/oasysdb?style=for-the-badge&logo=rust&label=Crates.io&color=%23f43f5e)](https://crates.io/crates/oasysdb)\n[![PyPI](https://img.shields.io/pypi/dm/oasysdb?style=for-the-badge&label=PyPI&logo=python&logoColor=ffffff&color=%232dd4bf)](https://pypi.org/project/oasysdb/)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=for-the-badge)](/docs/code_of_conduct.md)\n\n# \ud83d\udc4b Meet OasysDB\n\nOasysDB is a **lightweight** and **easy-to-use** embedded vector database written in Rust. With its simple API, it requires no learning curve to understand and use. OasysDB also requires no server setup and configuration. It is designed to be embedded directly inside your AI application simply by adding it as a dependency.\n\n```bash\n# Rust via Crates.io\ncargo add oasysdb\n\n# Python via PyPI\npip install oasysdb\n```\n\n## Use Cases\n\nOasysDB is very flexible! You can use it for systems related with vector similarity search such as:\n\n- Local RAG (Retrieval-Augmented Generation) pipeline with an LLM and embedding model to generate a context-aware output.\n- Image similarity search engine to find similar images based on their semantic content. [See Python demo](https://colab.research.google.com/drive/15_1hH7jGKzMeQ6IfnScjsc-iJRL5XyL7?usp=sharing).\n- Real-time product recommendation system to suggest similar products based on the product features or user preferences.\n- Add your use case here \ud83d\ude01\n\n## Features\n\n### Core Features\n\n\ud83d\udd38 **Embedded Database**: Zero setup & no server required.\\\n\ud83d\udd38 **Optional Persistence**: In-memory or disk-based collection.\\\n\ud83d\udd38 **Incremental Ops**: Modify vectors without rebuilding indexes.\\\n\ud83d\udd38 **Flexible Schema**: Store additional metadata for each vector.\n\n### Technical Features\n\n\ud83d\udd39 **Fast HNSW**: Efficient approximate vector similarity search.\\\n\ud83d\udd39 **Configurable Metric**: Use Euclidean, Cosine, or other metric.\\\n\ud83d\udd39 **Parallel Processing**: Multi-threaded & SIMD optimized calculation.\\\n\ud83d\udd39 **Built-in Incremental ID**: No headache vector record management.\n\n## Design Philosophy\n\nOasysDB is designed to be boring \ud83d\ude02\n\nSimple and easy to use API with no learning curve. No worries about setting up a server or configuring the database. We want you to forget about the vector database stuff and actually focus on building your AI application fast.\n\nRead more about the design philosophy of OasysDB in the [Comprehensive Guide](/docs/guide.md).\n\n# \ud83d\ude80 Quickstart with Rust\n\n![Rust-Banner.png](https://i.postimg.cc/NMCwFBPd/Rust-Banner.png)\n\nTo get started with OasysDB in Rust, you need to add `oasysdb` to your `Cargo.toml`. You can do so by running the command below which will add the latest version of OasysDB to your project.\n\n```bash\ncargo add oasysdb\n```\n\nAfter that, you can use the code snippet below as a reference to get started with OasysDB. In short, use `Collection` to store your vector records or search similar vector and use `Database` to persist a vector collection to the disk.\n\n```rust\nuse oasysdb::prelude::*;\n\nfn main() {\n    // Vector dimension must be uniform.\n    let dimension = 128;\n\n    // Replace with your own data.\n    let records = Record::many_random(dimension, 100);\n\n    let mut config = Config::default();\n\n    // Optionally set the distance function. Default to Euclidean.\n    config.distance = Distance::Cosine;\n\n    // Create a vector collection.\n    let collection = Collection::build(&config, &records).unwrap();\n\n    // Optionally save the collection to persist it.\n    let mut db = Database::new(\"data/test\").unwrap();\n    db.save_collection(\"vectors\", &collection).unwrap();\n\n    // Search for the nearest neighbors.\n    let query = Vector::random(dimension);\n    let result = collection.search(&query, 5).unwrap();\n\n    for res in result {\n        let (id, distance) = (res.id, res.distance);\n        println!(\"{distance:.5} | ID: {id}\");\n    }\n}\n```\n\n## Dealing with Metadata Types\n\nIn OasysDB, you can store additional metadata for each vector which is useful to associate the vectors with other data. The code snippet below shows how to insert the `Metadata` to the `Record` or extract it.\n\n```rust\nuse oasysdb::prelude::*;\n\nfn main() {\n    // Inserting a metadata value into a record.\n    let data: &str = \"This is an example.\";\n    let vector = Vector::random(128);\n    let record = Record::new(&vector, &data.into());\n\n    // Extracting the metadata value.\n    let metadata = record.data.clone();\n    let data = match metadata {\n        Metadata::Text(value) => value,\n        _ => panic!(\"Data is not a text.\"),\n    };\n\n    println!(\"{}\", data);\n}\n```\n\n# \ud83d\ude80 Quickstart with Python\n\n![Python-Banner.png](https://i.postimg.cc/rp1qjBZJ/Python-Banner.png)\n\nOasysDB also provides a Python binding which allows you to add it directly to your project. You can install the Python library of OasysDB by running the command below:\n\n```bash\npip install oasysdb\n```\n\nThis command will install the latest version of OasysDB to your Python environment. After you're all set with the installation, you can use the code snippet below as a reference to get started with OasysDB in Python.\n\n```python\nfrom oasysdb.prelude import *\n\n\nif __name__ == \"__main__\":\n    # Open the database.\n    db = Database(\"data/example\")\n\n    # Replace with your own records.\n    records = Record.many_random(dimension=128, len=100)\n\n    # Create a vector collection.\n    config = Config.create_default()\n    collection = Collection.from_records(config, records)\n\n    # Optionally, persist the collection to the database.\n    db.save_collection(\"my_collection\", collection)\n\n    # Replace with your own query.\n    query = Vector.random(128)\n\n    # Search for the nearest neighbors.\n    result = collection.search(query, n=5)\n\n    # Print the result.\n    print(\"Nearest neighbors ID: {}\".format(result[0].id))\n```\n\nIf you want to learn more about using OasysDB for real-world applications, you can check out the this Google Colab notebook which demonstrates how to use OasysDB to build a simple image similarity search engine: [Image Search Engine with OasysDB](https://colab.research.google.com/drive/15_1hH7jGKzMeQ6IfnScjsc-iJRL5XyL7?usp=sharing)\n\n# \ud83c\udfaf Benchmarks\n\nOasysDB uses a built-in benchmarking suite using Rust's [Criterion](https://docs.rs/criterion) crate which we use to measure the performance of the vector database.\n\nCurrently, the benchmarks are focused on the performance of the collection's vector search functionality. We are working on adding more benchmarks to measure the performance of other operations.\n\nIf you are curious and want to run the benchmarks, you can use the command below to run the benchmarks. If you do run it, please share the results with us \ud83d\ude09\n\n```bash\ncargo bench\n```\n\n## Memory Usage\n\nOasysDB uses HNSW which is known to be a memory hog compared to other indexing algorithms. We decided to use it because of its performance even when storing large datasets of vectors with high dimension.\n\nIn the future, we might consider adding more indexing algorithms to make OasysDB more flexible and to cater to different use cases. If you have any suggestions of which indexing algorithms we should add, please let us know.\n\nAnyway, if you are curious about the memory usage of OasysDB, you can use the command below to run the memory usage measurement script. You can tweak the parameters in the `examples/measure-memory.rs` file to see how the memory usage changes.\n\n```bash\ncargo run --example measure-memory\n```\n\n## Quick Results\n\nEven though the results may vary depending on the hardware and the dataset, we want to give you a quick idea of the performance of OasysDB. Here are some quick results from the benchmarks:\n\n| Collection size | Embedding dimension | Memory usage | Search time |\n| :-------------- | :-----------------: | -----------: | ----------: |\n| 10,000          |         128         |          7MB |    248.73\u00b5s |\n| 1,000,000       |         128         |        569MB |    555.46\u00b5s |\n| 10,000          |         768         |        302MB |    705.83\u00b5s |\n| 1,000,000       |         768         |      3,011MB |      1.36ms |\n| 1,000,000       |        3,072        |          N/A |      3.07ms |\n| 1,000,000       |        4,096        |          N/A |      3.87ms |\n\nThese results are from a machine with an Apple M3 CPU with 128GB of RAM. The dataset used for the benchmarks is a random dataset generated by the `Record::many_random` function with additional random `usize` as its metadata and a random search vector.\n\n# \ud83e\udd1d Contributing\n\nThe easiest way to contribute to this project is to star this project and share it with your friends. This will help us grow the community and make the project more visible to others.\n\nIf you want to go further and contribute your expertise, we will gladly welcome your code contributions. For more information and guidance about this, please see [contributing.md](/docs/contributing.md).\n\nIf you have deep experience in the space but don't have the free time to contribute codes, we also welcome advices, suggestions, or feature requests. We are also looking for advisors to help guide the project direction and roadmap.\n\nIf you are interested about the project in any way, please join us on [Discord](https://discord.gg/bDhQrkqNP4). Help us grow the community and make OasysDB better \ud83d\ude01\n\n## Code of Conduct\n\nWe are committed to creating a welcoming community. Any participant in our project is expected to act respectfully and to follow the [Code of Conduct](/docs/code_of_conduct.md).\n\n## Disclaimer\n\nThis project is still in the early stages of development. We are actively working on it and we expect the API and functionality to change. We do not recommend using this in production yet.\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Fast embedded vector database with incremental HNSW indexing.",
    "version": "0.4.4",
    "project_urls": {
        "Homepage": "https://oasysai.com/",
        "changelog": "https://github.com/oasysai/oasysdb/blob/main/docs/changelog.md",
        "issues": "https://github.com/oasysai/oasysdb/issues",
        "repository": "https://github.com/oasysai/oasysdb"
    },
    "split_keywords": [
        "embedded",
        " vector",
        " database",
        " hnsw",
        " ann"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ae84b2240920035580e60a3d6c93f100c83464fabf0cde438702df90a7dc0e5",
                "md5": "672a4e18faa88f30498a87ae2c184dd4",
                "sha256": "5f849c0cd5bb7ae51dd2ff9097a7c7c2252984ce5a0a5749d01a598799128e23"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "672a4e18faa88f30498a87ae2c184dd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 617181,
            "upload_time": "2024-04-27T00:23:44",
            "upload_time_iso_8601": "2024-04-27T00:23:44.519051Z",
            "url": "https://files.pythonhosted.org/packages/5a/e8/4b2240920035580e60a3d6c93f100c83464fabf0cde438702df90a7dc0e5/oasysdb-0.4.4-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec0bfbbf7131ccd63d808693c501228948828c62d7efccec67786ddef7fd4c2f",
                "md5": "cbf3ecdb0f3346a1837aa8d0bf5435e8",
                "sha256": "bfe0c55172d88c427e84a7c8ac1d7855a1360e3ca11a26ada26afabcc96e2b3e"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "cbf3ecdb0f3346a1837aa8d0bf5435e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 642229,
            "upload_time": "2024-04-27T00:23:47",
            "upload_time_iso_8601": "2024-04-27T00:23:47.602944Z",
            "url": "https://files.pythonhosted.org/packages/ec/0b/fbbf7131ccd63d808693c501228948828c62d7efccec67786ddef7fd4c2f/oasysdb-0.4.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bfeec7b9a87f10269fc1ceedd7ae1684e35702d131d0f376b3970979389daa07",
                "md5": "d043c9b8809cf6055e57b0f5fec9bd1b",
                "sha256": "841543ba25b64c9b567885d72d3afbd7215581749a011ded90a483bc0d4543f6"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "d043c9b8809cf6055e57b0f5fec9bd1b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1128831,
            "upload_time": "2024-04-27T00:23:50",
            "upload_time_iso_8601": "2024-04-27T00:23:50.699462Z",
            "url": "https://files.pythonhosted.org/packages/bf/ee/c7b9a87f10269fc1ceedd7ae1684e35702d131d0f376b3970979389daa07/oasysdb-0.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7bc06dc1d04125acc6596cd1447b1c7b5b5c651ab42db0e6a3de94e0e7559982",
                "md5": "c7d9d1430c2c1746349c466e4bfea873",
                "sha256": "d5107ae26a97ae5015c5e8f3674c56a496f7dbdd75063f0d4fd0f056b9865d4f"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c7d9d1430c2c1746349c466e4bfea873",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1124266,
            "upload_time": "2024-04-27T00:23:52",
            "upload_time_iso_8601": "2024-04-27T00:23:52.424313Z",
            "url": "https://files.pythonhosted.org/packages/7b/c0/6dc1d04125acc6596cd1447b1c7b5b5c651ab42db0e6a3de94e0e7559982/oasysdb-0.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "69ab8cafe668692e58767aa5f2a2bf5ab33eb2490a76b72f32acbe34258bc5a1",
                "md5": "f9a0a2e0f44d5def22132eefabf031c2",
                "sha256": "36a2430ca5107bf37f911f90c7b232d4caf3bbc219e8074f8c1b23c35146cfc8"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f9a0a2e0f44d5def22132eefabf031c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1072521,
            "upload_time": "2024-04-27T00:23:54",
            "upload_time_iso_8601": "2024-04-27T00:23:54.092481Z",
            "url": "https://files.pythonhosted.org/packages/69/ab/8cafe668692e58767aa5f2a2bf5ab33eb2490a76b72f32acbe34258bc5a1/oasysdb-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a9f4c830aa61d1f20fae8bd558b5ea0a07d8f7e3ee36abb589d1fae9dd1bdb4",
                "md5": "bfcfb1f7236ebc6b1b646bfd9417fb7e",
                "sha256": "41cd98fd146ee0379cfaf3300af0e3dbc3bdc00827392185d2da6b37080484e5"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "bfcfb1f7236ebc6b1b646bfd9417fb7e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 463315,
            "upload_time": "2024-04-27T00:23:56",
            "upload_time_iso_8601": "2024-04-27T00:23:56.511462Z",
            "url": "https://files.pythonhosted.org/packages/8a/9f/4c830aa61d1f20fae8bd558b5ea0a07d8f7e3ee36abb589d1fae9dd1bdb4/oasysdb-0.4.4-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "69c3e6600347eea1bc440280e4bc5a2a7605c5bdfd835300c19e96477834b99d",
                "md5": "f1ae010de2658488df0a2ea022367fd7",
                "sha256": "5ea6724d13f40fd08a224e5bd172efd20f7a0c910f9bc86cfd648945919ba276"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f1ae010de2658488df0a2ea022367fd7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 483322,
            "upload_time": "2024-04-27T00:23:58",
            "upload_time_iso_8601": "2024-04-27T00:23:58.091189Z",
            "url": "https://files.pythonhosted.org/packages/69/c3/e6600347eea1bc440280e4bc5a2a7605c5bdfd835300c19e96477834b99d/oasysdb-0.4.4-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bb74061040422cf51308795a6eaa01a383251cd10573f59ea462048d689ec780",
                "md5": "a39ad05068639bf62ad3c1184e670ddf",
                "sha256": "1b98b5641b8912a20132c7e7b13ebd4034f76eb04917a00198da046932bbe905"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a39ad05068639bf62ad3c1184e670ddf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 617235,
            "upload_time": "2024-04-27T00:23:59",
            "upload_time_iso_8601": "2024-04-27T00:23:59.982605Z",
            "url": "https://files.pythonhosted.org/packages/bb/74/061040422cf51308795a6eaa01a383251cd10573f59ea462048d689ec780/oasysdb-0.4.4-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2e5ed6db8566523f9bef1cc78c08c43eeb80204c29d3c0049b2279b9353bdb69",
                "md5": "58ce2a469533863d70575e76482bebc0",
                "sha256": "d4efb2d91e89ab1c70f1fc0dfbc170197a9bb49afbe6ad5aff4c0ef677f277c5"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "58ce2a469533863d70575e76482bebc0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 642247,
            "upload_time": "2024-04-27T00:24:02",
            "upload_time_iso_8601": "2024-04-27T00:24:02.602994Z",
            "url": "https://files.pythonhosted.org/packages/2e/5e/d6db8566523f9bef1cc78c08c43eeb80204c29d3c0049b2279b9353bdb69/oasysdb-0.4.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1a1378358c16de8367c74bf073c78a4449d1a0ac4745ea8d82159318b9f02da8",
                "md5": "35c62fcecd51483b0b996ab8f8e73d92",
                "sha256": "dfe6682ee37d12da65efac89ce2a14120ec367e628099b4e1c6c5d4119ad1593"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "35c62fcecd51483b0b996ab8f8e73d92",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1128807,
            "upload_time": "2024-04-27T00:24:04",
            "upload_time_iso_8601": "2024-04-27T00:24:04.949981Z",
            "url": "https://files.pythonhosted.org/packages/1a/13/78358c16de8367c74bf073c78a4449d1a0ac4745ea8d82159318b9f02da8/oasysdb-0.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ce07211e0897ec709181a3e26d0e633bf3e622de37868c06f4e09e09a0f02973",
                "md5": "0d178bcbee3f1b9c2dcc88ebf6d5e116",
                "sha256": "0a5e9daab7b1d39483efd0803e1a2eb0f9119e2c64abd2018580411b678b29af"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0d178bcbee3f1b9c2dcc88ebf6d5e116",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1123729,
            "upload_time": "2024-04-27T00:24:07",
            "upload_time_iso_8601": "2024-04-27T00:24:07.467940Z",
            "url": "https://files.pythonhosted.org/packages/ce/07/211e0897ec709181a3e26d0e633bf3e622de37868c06f4e09e09a0f02973/oasysdb-0.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1315a69d330ecef5dd3c9b066c5c7881e3d865448471d70ab50a36a1733a7773",
                "md5": "9ed6974c5fa98aaca13dc44fcda3f6c0",
                "sha256": "48dc1ebd081846ef964401812c1af04e73886c6f9181352c45809d538a0ee79a"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9ed6974c5fa98aaca13dc44fcda3f6c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1072415,
            "upload_time": "2024-04-27T00:24:09",
            "upload_time_iso_8601": "2024-04-27T00:24:09.932670Z",
            "url": "https://files.pythonhosted.org/packages/13/15/a69d330ecef5dd3c9b066c5c7881e3d865448471d70ab50a36a1733a7773/oasysdb-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "14ed3cb79420d0549187390156eef9e22e2c92d52d3bce2c0880c2c71faa44eb",
                "md5": "dc906d2557829ffea9d0c5b342439bc7",
                "sha256": "4af3e97cebcd456982177222ccf0d83f93f501fc7444c790195ee193f3e1bfba"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "dc906d2557829ffea9d0c5b342439bc7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 463332,
            "upload_time": "2024-04-27T00:24:11",
            "upload_time_iso_8601": "2024-04-27T00:24:11.755463Z",
            "url": "https://files.pythonhosted.org/packages/14/ed/3cb79420d0549187390156eef9e22e2c92d52d3bce2c0880c2c71faa44eb/oasysdb-0.4.4-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "56b0e55083c7d323700a3ee2809abc47359c9e5a2d9db74b025f198f50bf534b",
                "md5": "e7154a145d43db794e44713b089a9978",
                "sha256": "29795dbd80ec0a3f4fd24de4c843531ee1d7720eb6b10f44524a382b71bfbe55"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e7154a145d43db794e44713b089a9978",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 483391,
            "upload_time": "2024-04-27T00:24:13",
            "upload_time_iso_8601": "2024-04-27T00:24:13.541375Z",
            "url": "https://files.pythonhosted.org/packages/56/b0/e55083c7d323700a3ee2809abc47359c9e5a2d9db74b025f198f50bf534b/oasysdb-0.4.4-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "060c747b680634aaeeff15ea58e9f19430dd8374a2fd17ad5758fc2b79b7cb33",
                "md5": "ad483727997d50750aa12353880d16e2",
                "sha256": "9d0abd663caf62bc0201c393587c78f9f16ae42204fe235206ae4d414d054bdc"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ad483727997d50750aa12353880d16e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 615760,
            "upload_time": "2024-04-27T00:24:16",
            "upload_time_iso_8601": "2024-04-27T00:24:16.269453Z",
            "url": "https://files.pythonhosted.org/packages/06/0c/747b680634aaeeff15ea58e9f19430dd8374a2fd17ad5758fc2b79b7cb33/oasysdb-0.4.4-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb61554ac6c025795da78b453e350161b843ece9149813495dc9c7b460b964ad",
                "md5": "35738ae55f00ee32e555dfb55bef7499",
                "sha256": "d78252615e49c4363fc41d076095f8a72c24356e2f6966c2a8259bcf9a85dcda"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "35738ae55f00ee32e555dfb55bef7499",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 640838,
            "upload_time": "2024-04-27T00:24:18",
            "upload_time_iso_8601": "2024-04-27T00:24:18.682982Z",
            "url": "https://files.pythonhosted.org/packages/eb/61/554ac6c025795da78b453e350161b843ece9149813495dc9c7b460b964ad/oasysdb-0.4.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "34e5542733edf9d85dce7c40db27826e421eab7a8c0d52c810b679603235fc7d",
                "md5": "a84dd3ac9f11094beaa4ee1eb5b76112",
                "sha256": "973ecbc1441dd9a1536b940fc76d60d4dc5c1a645d2dca308f655a158f73f09f"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "a84dd3ac9f11094beaa4ee1eb5b76112",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1127252,
            "upload_time": "2024-04-27T00:24:21",
            "upload_time_iso_8601": "2024-04-27T00:24:21.331094Z",
            "url": "https://files.pythonhosted.org/packages/34/e5/542733edf9d85dce7c40db27826e421eab7a8c0d52c810b679603235fc7d/oasysdb-0.4.4-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3191efc5fecc46046aedb12dd6ccc1dec7a54b1564a9cee14a634a042dd4b6ce",
                "md5": "b6b998a2c72a604c0a6345ab1628c536",
                "sha256": "e4962adb30b90ab60da9500c54abe3efadede565a4c658e74f00f50ae96ae8e4"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b6b998a2c72a604c0a6345ab1628c536",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1122602,
            "upload_time": "2024-04-27T00:24:23",
            "upload_time_iso_8601": "2024-04-27T00:24:23.301333Z",
            "url": "https://files.pythonhosted.org/packages/31/91/efc5fecc46046aedb12dd6ccc1dec7a54b1564a9cee14a634a042dd4b6ce/oasysdb-0.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3d4c30c65041cf6fb6efc081d447835c3c054252cfe806846388a4539152e51b",
                "md5": "951e3266cf39a47f7fa43bf9190aebb2",
                "sha256": "85edb55f6303f5ef29af2da9d1bc41c950eb69b867d463c30fbd95c4544fd561"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "951e3266cf39a47f7fa43bf9190aebb2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1071443,
            "upload_time": "2024-04-27T00:24:25",
            "upload_time_iso_8601": "2024-04-27T00:24:25.891578Z",
            "url": "https://files.pythonhosted.org/packages/3d/4c/30c65041cf6fb6efc081d447835c3c054252cfe806846388a4539152e51b/oasysdb-0.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "09bd227e9d09dedc87b41abd4cfb1375cb2df127434be39777d48774a908b902",
                "md5": "2b913f826d33a62395c3d7be2e54b624",
                "sha256": "dc58f9b9d3263f88950c50cb39e1359eab261ef44a541051a3e1b4dc066dc6e8"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-none-win32.whl",
            "has_sig": false,
            "md5_digest": "2b913f826d33a62395c3d7be2e54b624",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 462201,
            "upload_time": "2024-04-27T00:24:28",
            "upload_time_iso_8601": "2024-04-27T00:24:28.024619Z",
            "url": "https://files.pythonhosted.org/packages/09/bd/227e9d09dedc87b41abd4cfb1375cb2df127434be39777d48774a908b902/oasysdb-0.4.4-cp312-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8db0f78e807368b271b42800570afe75f7971fb24a6d05002316717e2fde8ed2",
                "md5": "222886b653ff01a555745d6812123770",
                "sha256": "41911b2dbf569c9e0fd775311bf015af4334c78bb01c6c44121b1920c74a0c37"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "222886b653ff01a555745d6812123770",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 482315,
            "upload_time": "2024-04-27T00:24:30",
            "upload_time_iso_8601": "2024-04-27T00:24:30.047251Z",
            "url": "https://files.pythonhosted.org/packages/8d/b0/f78e807368b271b42800570afe75f7971fb24a6d05002316717e2fde8ed2/oasysdb-0.4.4-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f98b894dae7f1039221875d5535f31c905fd2fbb9dd150aeed504e5a75c5cebb",
                "md5": "ae6ca6caf852821195df96ee3e37281a",
                "sha256": "764dd32598b40284afeec7df3f15d3e6cd3da534078a531f6e6a76a7653a6172"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "ae6ca6caf852821195df96ee3e37281a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1129239,
            "upload_time": "2024-04-27T00:24:31",
            "upload_time_iso_8601": "2024-04-27T00:24:31.749992Z",
            "url": "https://files.pythonhosted.org/packages/f9/8b/894dae7f1039221875d5535f31c905fd2fbb9dd150aeed504e5a75c5cebb/oasysdb-0.4.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80f4ba16244e5ebac92ff56e5416b3ca0181cbc0af57e091dad21c5a428a8bcb",
                "md5": "73233eefa76b0af17c6e152feb0c99b3",
                "sha256": "d6588648ef3a4134ef5ed29d609b3d23a7cc7645142515b10754ba88cd685be2"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "73233eefa76b0af17c6e152feb0c99b3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1125136,
            "upload_time": "2024-04-27T00:24:33",
            "upload_time_iso_8601": "2024-04-27T00:24:33.971980Z",
            "url": "https://files.pythonhosted.org/packages/80/f4/ba16244e5ebac92ff56e5416b3ca0181cbc0af57e091dad21c5a428a8bcb/oasysdb-0.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a01d8e4a83b67537d08327e8908473ed55b897fe147af2bdcbd73ed0fe750420",
                "md5": "8cec3189ce99569dd5fb607a4dfe4484",
                "sha256": "ab2b52f181d0b79bda4531281ea46ba6b95e17beeaaed58e83e8aa3c1f679845"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8cec3189ce99569dd5fb607a4dfe4484",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1072861,
            "upload_time": "2024-04-27T00:24:35",
            "upload_time_iso_8601": "2024-04-27T00:24:35.827684Z",
            "url": "https://files.pythonhosted.org/packages/a0/1d/8e4a83b67537d08327e8908473ed55b897fe147af2bdcbd73ed0fe750420/oasysdb-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0adde66e01d20063ed2c262bda899f4e29a56500be8e875f7d1f22a2960d1c99",
                "md5": "9824f2511922f7f020cb2aa1d0c10506",
                "sha256": "b01060915c662ceb9e04ceb4ed979175cc56c0057ef6d95d6cb8e9bf8ff56390"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "9824f2511922f7f020cb2aa1d0c10506",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 463618,
            "upload_time": "2024-04-27T00:24:37",
            "upload_time_iso_8601": "2024-04-27T00:24:37.549169Z",
            "url": "https://files.pythonhosted.org/packages/0a/dd/e66e01d20063ed2c262bda899f4e29a56500be8e875f7d1f22a2960d1c99/oasysdb-0.4.4-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7feab8f3a03512e8ebeb00babd0d1c5c4e2c78a3c2c2d36c27f6930a6c7b52e",
                "md5": "e9cd78fe5b73e2728067ea4b20d4a2e6",
                "sha256": "d88c3fbf137649ed4b1dc337c375223dbfbf5a58b2aa537346a782b5b2ce7432"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e9cd78fe5b73e2728067ea4b20d4a2e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 483582,
            "upload_time": "2024-04-27T00:24:39",
            "upload_time_iso_8601": "2024-04-27T00:24:39.094264Z",
            "url": "https://files.pythonhosted.org/packages/f7/fe/ab8f3a03512e8ebeb00babd0d1c5c4e2c78a3c2c2d36c27f6930a6c7b52e/oasysdb-0.4.4-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0cff5fab255ce1e6e14b5ebbbc0009cd0b653f625d4ced841caef92c34cbf837",
                "md5": "cebe1d3acd3bfe42737a741b42f32393",
                "sha256": "eb49ecbcfa63d3ff776bd6c5da906d9403ca6a5d93edda085dc0bea2a4f1e1ad"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "cebe1d3acd3bfe42737a741b42f32393",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1129177,
            "upload_time": "2024-04-27T00:24:41",
            "upload_time_iso_8601": "2024-04-27T00:24:41.100699Z",
            "url": "https://files.pythonhosted.org/packages/0c/ff/5fab255ce1e6e14b5ebbbc0009cd0b653f625d4ced841caef92c34cbf837/oasysdb-0.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5315da42cb2095c698e0e3d892cdb94fa85a0981450b7a73acc121bfa2400fe9",
                "md5": "0db21958dddfd9af015e7832646931a5",
                "sha256": "cc013f95ccd8720faa0dde5593acce81a1f6245313ffabdf299c4726cb5a17e7"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0db21958dddfd9af015e7832646931a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1124778,
            "upload_time": "2024-04-27T00:24:43",
            "upload_time_iso_8601": "2024-04-27T00:24:43.063951Z",
            "url": "https://files.pythonhosted.org/packages/53/15/da42cb2095c698e0e3d892cdb94fa85a0981450b7a73acc121bfa2400fe9/oasysdb-0.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "afa28d96d6b6c2bf0657cdd1ec7a6a4aaa68c9f82cff2c820cccbc94cfe463e5",
                "md5": "f9c0c99755a581abc7958515106f56bf",
                "sha256": "8beafa0472da36be1eadccf94d38642b499422a1731cacd1668a9e533c0f05ec"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f9c0c99755a581abc7958515106f56bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1072862,
            "upload_time": "2024-04-27T00:24:44",
            "upload_time_iso_8601": "2024-04-27T00:24:44.830249Z",
            "url": "https://files.pythonhosted.org/packages/af/a2/8d96d6b6c2bf0657cdd1ec7a6a4aaa68c9f82cff2c820cccbc94cfe463e5/oasysdb-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa653b746883c7ac7453f01e2c03f05f0b6c5e7c2e0674ad6315b2092f6196f4",
                "md5": "60a7a76697517cea646748e434bb69dc",
                "sha256": "e690caea7f75af84ef8b6d568814126f7793b724901d6952bb8bba4e359c9fb1"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "60a7a76697517cea646748e434bb69dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 463533,
            "upload_time": "2024-04-27T00:24:46",
            "upload_time_iso_8601": "2024-04-27T00:24:46.871462Z",
            "url": "https://files.pythonhosted.org/packages/aa/65/3b746883c7ac7453f01e2c03f05f0b6c5e7c2e0674ad6315b2092f6196f4/oasysdb-0.4.4-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "38bdc38b5348cf2e7d331ae7e8015c747a4279fb87089681eef15d5c1fb3d226",
                "md5": "63d4f283db6db72e01abc49bb419faa4",
                "sha256": "083e9d3e7897663a10a4e7253dad6e95ad2a019236cc7bd0252cf70f3be3b822"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "63d4f283db6db72e01abc49bb419faa4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 483551,
            "upload_time": "2024-04-27T00:24:48",
            "upload_time_iso_8601": "2024-04-27T00:24:48.650012Z",
            "url": "https://files.pythonhosted.org/packages/38/bd/c38b5348cf2e7d331ae7e8015c747a4279fb87089681eef15d5c1fb3d226/oasysdb-0.4.4-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "07edf9717901910a6e8d8d27ffd172f5391915317dd278e220a21e00e9e62b96",
                "md5": "f4638667c78e747fe29182f4cd3d9732",
                "sha256": "2656b3461336153131401fa0caa5f29f4a86cdf8e5fd9d2d3e22c6adf722775e"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "f4638667c78e747fe29182f4cd3d9732",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1128977,
            "upload_time": "2024-04-27T00:24:50",
            "upload_time_iso_8601": "2024-04-27T00:24:50.267976Z",
            "url": "https://files.pythonhosted.org/packages/07/ed/f9717901910a6e8d8d27ffd172f5391915317dd278e220a21e00e9e62b96/oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c96c99f41b1d0b6010f2d5679f6b2e89b4bcf7d7b7de6fcb1d065c2ad50b56c7",
                "md5": "78bc69c1dc5ed03949b3ac53054ef40b",
                "sha256": "55947098b2c4585198d218e553198b8e5f6cd7b987b318efc4710dd31691ca23"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "78bc69c1dc5ed03949b3ac53054ef40b",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1124148,
            "upload_time": "2024-04-27T00:24:52",
            "upload_time_iso_8601": "2024-04-27T00:24:52.266426Z",
            "url": "https://files.pythonhosted.org/packages/c9/6c/99f41b1d0b6010f2d5679f6b2e89b4bcf7d7b7de6fcb1d065c2ad50b56c7/oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "21a7404604b0d7ca3e855c7cdf0e54d75f53b5f68132dba7885cdfa02a759560",
                "md5": "5d4156f54761308927a213998bc77e67",
                "sha256": "b2128db4fa3db1e723e563502dbbff0d4350339e2bc163eddfb5345951842b08"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5d4156f54761308927a213998bc77e67",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1072683,
            "upload_time": "2024-04-27T00:24:54",
            "upload_time_iso_8601": "2024-04-27T00:24:54.228767Z",
            "url": "https://files.pythonhosted.org/packages/21/a7/404604b0d7ca3e855c7cdf0e54d75f53b5f68132dba7885cdfa02a759560/oasysdb-0.4.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2c3653517e828a85d0bb2fd1352e636c77362cc1d3d295eac05c994f807f45c2",
                "md5": "28d176e8f051f3ebf369cb540b1dc457",
                "sha256": "8bf319960ba82bf3cb94ab87c6f858bcbf3bf4cab27b83359f990e69733f5f31"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "28d176e8f051f3ebf369cb540b1dc457",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1129186,
            "upload_time": "2024-04-27T00:24:55",
            "upload_time_iso_8601": "2024-04-27T00:24:55.985416Z",
            "url": "https://files.pythonhosted.org/packages/2c/36/53517e828a85d0bb2fd1352e636c77362cc1d3d295eac05c994f807f45c2/oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ca73bf0d22eb334399acb646db1c90945efe62e9c127b2f2458a485294d31268",
                "md5": "221acef3e555ef2d0d75ee161a2412ea",
                "sha256": "5dfba7623fbe3e9da6c906e3220a16f8c146465ee107bb3398dd0b0c9c70e5fd"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "221acef3e555ef2d0d75ee161a2412ea",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1124702,
            "upload_time": "2024-04-27T00:24:57",
            "upload_time_iso_8601": "2024-04-27T00:24:57.735716Z",
            "url": "https://files.pythonhosted.org/packages/ca/73/bf0d22eb334399acb646db1c90945efe62e9c127b2f2458a485294d31268/oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "55198efe3df924e00c84aa09265dbe6a58cac175e4bab27e55941980db97b212",
                "md5": "a0dcb94e734644adc4ad964c11c62b9f",
                "sha256": "8a8c860ebac0ad640a69447a8eba69e78a70462e911ac05692f421d03adeb966"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a0dcb94e734644adc4ad964c11c62b9f",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1072837,
            "upload_time": "2024-04-27T00:24:59",
            "upload_time_iso_8601": "2024-04-27T00:24:59.661583Z",
            "url": "https://files.pythonhosted.org/packages/55/19/8efe3df924e00c84aa09265dbe6a58cac175e4bab27e55941980db97b212/oasysdb-0.4.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9e8603d3e47daf6d9b7229f135483a0794fb51f3e048961d55d582feb14a96a0",
                "md5": "1080e948c83217522f440cb9071211ec",
                "sha256": "0dfcc3747eb1c559c3ac367ffb9b83e923da9eeed2f3dba075b242b7d59378f8"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "1080e948c83217522f440cb9071211ec",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1128973,
            "upload_time": "2024-04-27T00:25:01",
            "upload_time_iso_8601": "2024-04-27T00:25:01.904110Z",
            "url": "https://files.pythonhosted.org/packages/9e/86/03d3e47daf6d9b7229f135483a0794fb51f3e048961d55d582feb14a96a0/oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "edf5d957ef32de59e7ab4e4c4125be23d026e7291df64d62bc7e29455d7bb01e",
                "md5": "8f7c2730ffafb1c06f095260208463a1",
                "sha256": "90653c336dcb010d40cdc5be6a6ff1b1e4ec27d90106a521b527bd934c1746ab"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8f7c2730ffafb1c06f095260208463a1",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1124192,
            "upload_time": "2024-04-27T00:25:03",
            "upload_time_iso_8601": "2024-04-27T00:25:03.999147Z",
            "url": "https://files.pythonhosted.org/packages/ed/f5/d957ef32de59e7ab4e4c4125be23d026e7291df64d62bc7e29455d7bb01e/oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "03f94743a4c4a32cf8fb7c5e09f40a2509a2d3fa0f901c5152f7874fcb8a6a93",
                "md5": "2082651f81160e0948a65536ba23de67",
                "sha256": "0ecfd789c42696f1aeeb7b12a01a2134a98d994ae3518cc82da2bb070952f292"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2082651f81160e0948a65536ba23de67",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1072681,
            "upload_time": "2024-04-27T00:25:05",
            "upload_time_iso_8601": "2024-04-27T00:25:05.949438Z",
            "url": "https://files.pythonhosted.org/packages/03/f9/4743a4c4a32cf8fb7c5e09f40a2509a2d3fa0f901c5152f7874fcb8a6a93/oasysdb-0.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "28b4c4b3f398d20dafa5003c7a95c0244f663fa37c9bcb83cfaa642fa83824c8",
                "md5": "e2d36a1899b133e1bda69a1d2e317337",
                "sha256": "3191dad64c403112d2e3f66f63e3169e08aff292ba4ddc2c73288d13441bd484"
            },
            "downloads": -1,
            "filename": "oasysdb-0.4.4.tar.gz",
            "has_sig": false,
            "md5_digest": "e2d36a1899b133e1bda69a1d2e317337",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 55593,
            "upload_time": "2024-04-27T00:25:08",
            "upload_time_iso_8601": "2024-04-27T00:25:08.070488Z",
            "url": "https://files.pythonhosted.org/packages/28/b4/c4b3f398d20dafa5003c7a95c0244f663fa37c9bcb83cfaa642fa83824c8/oasysdb-0.4.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-27 00:25:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "oasysai",
    "github_project": "oasysdb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "oasysdb"
}
        
Elapsed time: 0.25794s