Simple file management and serving for agents
Project description
Simple file management and serving for agents
Installation
pip install agentfs
Quickstart
- Start the server:
You can start the server by using the
start_server()
function:
from agentfs import start_server
start_server()
This will start the server at http://localhost:8000
.
You can start the server with uvicorn like this:
import os
if __name__ == "__main__":
import uvicorn
uvicorn.run("agentfs:start_server", host="0.0.0.0", port=int(os.getenv("PORT", 8000)))
- Get a file:
Once the server is up and running, you can retrieve file content by sending a GET request to
/file/{path}
endpoint, where{path}
is the path to the file relative to the server's current storage directory.
from agentfs import get_file
# Fetches the content of the file located at "./files/test.txt"
file_content = get_file("test.txt")
print(file_content)
- Save a file:
Similarly, you can save content to a file by sending a POST request to
/file/
endpoint, with JSON data containing thepath
andcontent
parameters.
from agentfs import add_file
# Creates a file named "test.txt" in the current storage directory
# and writes "Hello, world!" to it.
add_file("test.txt", "Hello, world!")
API Documentation
AgentFS provides the following public functions:
start_server(storage_path=None)
Starts the FastAPI server. If a storage_path
is provided, it sets the storage directory to the given path.
Arguments:
storage_path
(str, optional): The path to the storage directory.
Returns:
- None
Example:
from agentfs import start_server
start_server("/my/storage/directory")
get_server()
Returns the FastAPI application instance.
Arguments:
- None
Returns:
- FastAPI application instance.
Example:
from agentfs import get_server
app = get_server()
set_storage_path(new_path)
Sets the storage directory to the provided path.
Arguments:
new_path
(str): The path to the new storage directory.
Returns:
True
if the path was successfully set,False
otherwise.
Example:
from agentfs import set_storage_path
set_storage_path("/my/storage/directory")
add_file(path, content)
Creates a file at the specified path and writes the provided content to it.
Arguments:
path
(str): The path to the new file.content
(str): The content to be written to the file.
Returns:
True
if the file was successfully created.
Example:
from agentfs import add_file
add_file("test.txt", "Hello, world!")
remove_file(path)
Removes the file at the specified path.
Arguments:
path
(str): The path to the file to be removed.
Returns:
True
if the file was successfully removed.
Example:
from agentfs import remove_file
remove_file("test.txt")
update_file(path, content)
Appends the provided content to the file at the specified path.
Arguments:
path
(str): The path to the file to be updated.content
(str): The content to be appended to the file.
Returns:
True
if the file was successfully updated.
Example:
from agentfs import update_file
update_file("test.txt", "New content")
list_files(path='.')
Lists all files in the specified directory.
Arguments:
path
(str, optional): The path to the directory. Defaults to'.'
(current directory).
Returns:
- A list of file names in the specified directory.
Example:
from agentfs import list_files
files = list_files()
get_file(path)
Returns the content of the file at the specified path.
Arguments:
path
(str): The path to the file.
Returns:
- A string containing the content of the file.
Example:
from agentfs import get_file
content = get_file("test.txt")
Contributions Welcome
If you like this library and want to contribute in any way, please feel free to submit a PR and I will review it. Please note that the goal here is simplicity and accesibility, using common language and few dependencies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file agentfs-0.1.0.tar.gz
.
File metadata
- Download URL: agentfs-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1168d1fcef540c7798d89ba35a446e37e9e677eadc87d4bd1ae9b3f91fe8527 |
|
MD5 | d0ba15a5818276e3508fe43a926479ee |
|
BLAKE2b-256 | b0aa1dc25407f3e91298935675390ec6cfb9bf22c29a1cd9bc2246ad10aa424b |
File details
Details for the file agentfs-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: agentfs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f55a11c258c5e75c42d4c19551835b426304aee95375cc7fccfadbdcb32fd2f |
|
MD5 | 3e5f0be6c71c046a10f809fd5a76a816 |
|
BLAKE2b-256 | 4cd9c81b47fd4ffbe80787d49f7f4f56eb6da5d4f00c24df04faf6295d81d2bc |