Skip to main content

This package has been deprecated, I recommend you use the offical replit db client which can be found here.

PyPI version Run on Repl.it Downloads

ReplitDB Client

A Pythonic Client for use with the repl.it DataBase. Created by Codemonkey51. Documentation by IreTheKID.

Installation

There are many different methods of installing replitdb to your enviornment. pip is recommended as it is the most stable.

  • Pip: pip install replitdb
  • Easy Install: easy_install replitdb
  • Git: $ git clone https://github.com/codemonkey51/replit-db-client replitdb
  • Replit UPM: python3 -m poetry init --no-interaction; python3 -m poetry add replitdb

Getting Started

Once you have the package installed, simply import it and define the client to get started:

import replitdb

client = replitdb.Client()

Using the Client

The replitDB client can be used to write, delete, and edit keys/values within your database. Let's say you have your dictionary ready, like so:

import replitdb

client = replitdb.Client()
data = {
	"users" : {
		"name1" : {...},
		"name2" : {...}
	},
	"posts" : {
		"post1" : {...},
		"post2" : {...}
	},
	"codes" : [
		12345,
		67890,
	],
	"sessionID" : "837379829-2"
}

You can write to the DB with either:

for key, value in data.items():
	client.set(key=value) 

or:

client.set_dict(data)

Editor's Note: Using the for loop will set 'key' equal to the variable value. Using client.set_dict({key:value}) is recommended instead.

After adding items to your DB, you may want to remove some. There are different methods to deleting values from the DB:

client.remove("codes") # Deletes the item the key "codes"
client.remove_list(["users", "posts"]) # Deletes a list of items

client.wipe # Wipes the whole DataBase clean

Client Functions

Adding:

  • client.set(name=value, name2=value2, ...) Adds an item with it's name and value.
  • client.set_dict({key:val}) Adds an item for every key/value pair in the dict.

Removing:

  • client.remove(name) Removes an item by its name.
  • client.remove_list([key]) Removes a list of items by name.
  • client.wipe Clears DB. (Caution: Cannot Be Undone)

Viewing:

  • client.view(name) Returns the value of the name (tries to detect if it is a str or ddict/list and returns accordingly).
  • client.view_multiple(name, name2, ...) Returns a dictionary with each item being the name/value pair found (tries to detect if it is a str or ddict/list and returns accordingly).
  • client.view_multiple_list([key]) Returns a dictionary with each item being the key/value pair found in the list (tries to detect if it is a str or ddict/list and returns accordingly).
  • client.all Returns all key names.
  • client.all_dict Returns the entire DB as a dictionary.
  • client._view_str(name) Returns the value of the name as a string.
  • client._view_str_multiple(name, name2, ...) Returns a dictionary with each item being the name/value pair as a string found.
  • client._view_str_multiple_list([key]) Returns a dictionary with each item being the key/value pair found as a string in the list.
  • client._view_json(name) Returns the value of the name json decoded.
  • client._view_json_multiple(name, name2, ...) Returns a dictionary with each item being the name/value pair json decoded found json decoded.
  • client._view_json_multiple_list([key]) Returns a dictionary with each item being the key/value pair json decoded found in the list.

Searching:

  • client.list(prefix) Returns lists of all keys found that start with the prefix.
  • client.list_multiple(prefix, prefix2, ...) Returns dict with each item being the prefix/key pair for all keys found that start each prefix.
  • client.list_multiple_list([prefix]) Returns dict with each item being the prefix/key pair for all keys found that start each prefix in the list passed.

Async Capabilities

You can use asynchronous functions by defining your client with the AsyncClient() class. All functions will become coroutines that need to be awaited. Here are two examples:

import asyncio
import replitdb

client = AsyncClient()
loop = asyncio.get_event_loop()

data = {
	...
}

loop.run_until_complete(client.set_dict(data))
import asyncio
import replitdb

client = AsyncClient()

data = {
	...
} 

async def foo():
	await client.set_dict(data)

asyncio.run(foo())

Known Issues

  • Repl.it UPM can't auto-detect package import.
  • Defualt client does not work in asynchronous enviornment.

Deprecated Functions

  • client.add(name) is now client.set(name)
  • client.add_dict({key:val}) is now client.set_dict({key:val})

Metadata

Release files for replitdb 0.0.15

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

Source distribution (sdist)

Source distribution for replitdb 0.0.15
File Size Uploaded Provenance Actions
replitdb-0.0.15.tar.gz 8.1 kB Without provenance Details for replitdb-0.0.15.tar.gz

Built distribution (wheel)

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

Total release size: 16.1 kB

Release files / replitdb-0.0.15.tar.gz

Download URL replitdb-0.0.15.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7bd1f8533e0b952138f8bab3beb4587bad90f883c01688b13c7818c133d4ef49
BLAKE2b-256 checksum
How to use checksums
d71b380e77275b7d57b0d4a37834de7e35dc8b2436f4c774abdb101e18db4ad9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.10

Release files / replitdb-0.0.15-py3-none-any.whl

Download URL replitdb-0.0.15-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dde97f27f1fd5a2acc671c3af15609355cbee258344aca4b08dedd40f7c44429
BLAKE2b-256 checksum
How to use checksums
1bf372c1d8183064f23d8ac615e26956d63495eaf2df1dd59c7f7796b37647ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.10

Security for replitdb 0.0.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.15 This release

2 release files No provenance

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