Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
A Pythonic Client for use with the repl.it DataBase. Created by Codemonkey51. Documentation by IreTheKID.
There are many different methods of installing replitdb
to your enviornment. pip
is recommended as it is the most stable.
pip install replitdb
easy_install replitdb
$ git clone https://github.com/codemonkey51/replit-db-client replitdb
python3 -m poetry init --no-interaction; python3 -m poetry add replitdb
Once you have the package installed, simply import it and define the client to get started:
import replitdb
client = replitdb.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.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.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)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.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.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())
client.add(name)
is now client.set(name)
client.add_dict({key:val})
is now client.set_dict({key:val})
FAQs
a client for replit db
We found that replitdb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.