-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
db8af62
commit 025e211
Showing
1 changed file
with
34 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,153 +1,77 @@ | ||
# Upsonic | [![Tests](https://github.com/Upsonic/Upsonic/actions/workflows/tests.yml/badge.svg)](https://github.com/Upsonic/Upsonic/actions/workflows/tests.yml) | [![codecov](https://codecov.io/gh/Upsonic/Upsonic/branch/master/graph/badge.svg?token=0VC6JJNX9Z)](https://codecov.io/gh/Upsonic/Upsonic) | [![After Deploy Test Every 15 Minute](https://github.com/Upsonic/Upsonic/actions/workflows/after_deploy_test.yml/badge.svg)](https://github.com/Upsonic/Upsonic/actions/workflows/after_deploy_test.yml) | ||
|
||
The Upsonic is a Flexible, secure and scalable database and your python cloud that supports multiple data formats. It comes with built-in features for compressing and encrypting data, and is compatible with all operating systems. With easy-to-use commands, the Upsonic is an excellent choice for developers seeking an efficient and reliable storage solution for their data. | ||
# Upsonic | Python Client Library | ||
|
||
The Upsonic Python Client Library is designed to help data scientists and ML engineers efficiently manage and automate maintenance-free utility library creation. It provides a simple, easy-to-use Python interface to interact with the Upsonic platform. | ||
[Website](https://upsonic.co/) | [Discord](https://discord.gg/) | [Twitter](https://twitter.com/upsonicco) | ||
|
||
|
||
|
||
## Features | ||
|
||
## Installation | ||
You can install Upsonic by pip3: | ||
|
||
```console | ||
pip3 install upsonic | ||
``` | ||
|
||
|
||
|
||
## 🎉 Upsonic Cloud is published ! | [![Cloud Test Every - 15 Minute](https://github.com/Upsonic/Upsonic/actions/workflows/cloud_test.yml/badge.svg)](https://github.com/Upsonic/Upsonic/actions/workflows/cloud_test.yml) | [Go to Docs](https://Upsonic.github.io/Upsonic/upsonic_cloud.html) | ||
Upsonic Cloud: the ultimate, free cloud database for all Python developers. Experience reliability, efficiency, and top-notch security in one powerful solution. Start your seamless development journey with Upsonic Cloud today! | ||
|
||
- "Save your Python Things to the Cloud: Code Unrestricted, Scale Limitless with Upsonic Cloud!" | ||
- Easy serialization of functions and classes, making them readily available for reuse across different projects. | ||
- Automatic documentation generation for effortless maintenance and readability. | ||
- Support for both direct and modular function importation from the library. | ||
- Streamlined version control and collaboration features, allowing teams to work together seamlessly. | ||
|
||
![Upsonic Cloud](https://github.com/Upsonic/Upsonic/assets/41792982/a45e58cf-3403-4cd5-a9b5-dc9b84e4746c) | ||
|
||
|
||
## Installation | ||
|
||
You need to install the Upsonic container. | ||
|
||
### Creating Your Free Cloud Key | ||
Once the container is up and running, you can install the Upsonic Python Client Library on your local system using the pip package manager: | ||
```console | ||
Upsonic cloud_key | ||
# pip install upsonic | ||
``` | ||
|
||
### Using Your Cloud | Setting | ||
|
||
```python | ||
from upsonic import Upsonic_Cloud | ||
cloud = Upsonic_Cloud("YOUR_CLOUD_KEY") | ||
|
||
@cloud.active | ||
def get_address(): | ||
return "Hello World I am from Upsonic Cloud" | ||
``` | ||
## Usage | ||
|
||
### Using Your Cloud | Getting | ||
Here's an updated quickstart guide to get you up and running with your container: | ||
|
||
```python | ||
from upsonic import Upsonic_Cloud | ||
cloud = Upsonic_Cloud("YOUR_CLOUD_KEY") | ||
|
||
# Import the Upsonic client | ||
from upsonic import Upsonic_On_Prem | ||
|
||
print(cloud.get("get_address")()) | ||
``` | ||
# Initialize the client by providing the Upsonic container URL and AccessKey | ||
upsonic = Upsonic_On_Prem('https://your-server-address:5000', 'ACK_****************') | ||
|
||
## Demo | ||
# This is assuming your Upsonic container is running locally on port 5000. | ||
|
||
```python | ||
from upsonic import Upsonic | ||
# Dump a function into the library | ||
def sum(a, b): | ||
return a + b | ||
upsonic.dump("math.basics.sum", sum) | ||
|
||
# Creating databases | ||
db = Upsonic("My_New_DB") | ||
|
||
|
||
# Flexible | ||
db.set("Key", "String") | ||
db.set("Key", 123) | ||
db.set("Key", 123.213) | ||
db.set("Key", Object()) | ||
db.set("Key", ["Alist"]) | ||
db.set("Key", {"a": "dict"}) | ||
db.set("Key", (1,"Atuple")) | ||
db.set("Key", file="onur.jpg") | ||
db.set("Key", file="onur.anytype") | ||
|
||
|
||
# Secure | ||
db.set("Key", "String", encryption_key="my_encryption_key") | ||
db.set("Key", 123, encryption_key="my_encryption_key") | ||
db.set("Key", 123.213, encryption_key="my_encryption_key") | ||
db.set("Key", Object(), encryption_key="my_encryption_key") | ||
db.set("Key", ["Alist"], encryption_key="my_encryption_key") | ||
db.set("Key", {"a": "dict"}, encryption_key="my_encryption_key") | ||
db.set("Key", (1,"Atuple"), encryption_key="my_encryption_key") | ||
db.set("Key", file="onur.jpg", encryption_key="my_encryption_key") | ||
|
||
|
||
|
||
# Scalable | ||
db.get("Key") #Instant, no waiting and no searching | ||
# Load a module or a function from the library | ||
math = upsonic.load_module("math") | ||
|
||
math.basics.sum(5, 2) | ||
|
||
``` | ||
|
||
## Features | ||
|
||
- **Flexibility**: Save data in any format, including objects and files, providing great flexibility and adaptability to different use cases and data structures. | ||
- **Compressing**: Compress data to minimize storage space while enabling faster data retrieval and processing. | ||
- **Encryption**: Keep sensitive information secure and private with the included encryption feature. | ||
- **Scalability**: Offers stable processing times of set, get, and delete commands, regardless of the dataset's size. | ||
- **Fault Tolerance**: By the design of the Upsonic, it is fully fault-tolerant because each datas are designed to be independent of each other on the disk. | ||
- **Memory Friendly**: The Upsonic is designed to use as little memory as possible. It only loads the data you want to access into memory. | ||
- **Cross-Platform Compatibility**: Compatible with all operating systems, making it easier to integrate into any project. | ||
- **Transactional and Asynchronous Operations**: Perform multiple operations in a single transaction or perform operations asynchronously for improved performance. | ||
|
||
## Documentation | ||
|
||
```mermaid | ||
graph TD; | ||
A[Upsonic]; | ||
You can find detailed documentation, including advanced usage and API reference, in the official [Upsonic Documentation](https://docs.upsonic.co/home) . | ||
|
||
A --> P[CLI]; | ||
O --> N[Interfaces]; | ||
P --> N[Interfaces]; | ||
Q --> N[Interfaces]; | ||
R --> N[Interfaces]; | ||
|
||
N --> J[Functions]; | ||
|
||
## Contributing | ||
|
||
J --> B[Features]; | ||
B --> C[Multi-threaded Writing]; | ||
B --> D[Compression]; | ||
B --> E[Encryption]; | ||
B --> F[Scalability]; | ||
B --> G[Fault Tolerance]; | ||
B --> H[Memory Friendly]; | ||
B --> I[Cross-Platform Compatibility]; | ||
We welcome contributions to the Upsonic Python Client Library! | ||
|
||
|
||
``` | ||
|
||
## Documentation | ||
You can find the documentation [here](https://Upsonic.github.io/Upsonic/). | ||
## Support & Questions | ||
|
||
For any questions or if you encounter an issue, please reach out to our support team at [email protected] or open an issue on the project's GitHub page. | ||
|
||
|
||
## Contributing | ||
Contributions to Upsonic are welcome! If you have any suggestions or find a bug, please open an issue on the GitHub repository. If you want to contribute code, please fork the repository and create a pull request. | ||
|
||
## License | ||
Upsonic is released under the MIT License. | ||
|
||
<h2 align="center"> | ||
Contributors | ||
</h2> | ||
<p align="center"> | ||
Thank you for your contribution! | ||
</p> | ||
<p align="center"> | ||
<a href="https://github.com/Upsonic/Upsonic/graphs/contributors"> | ||
<img src="https://contrib.rocks/image?repo=Upsonic/Upsonic" /> | ||
</a> | ||
</p> | ||
<p align="center"> | ||
and <a href="https://sweep.dev/">Sweep !</a> | ||
</p> | ||
We hope you enjoy using Upsonic to streamline your utility library creation process, and we look forward to hearing your feedback and suggestions! |