Simple file management and serving for agents
Installation
pip install agentcomlink
Quickstart
- Start the server:
You can start the server with uvicorn like this:
import os
if __name__ == "__main__":
import uvicorn
uvicorn.run("agentcomlink:start_server", host="0.0.0.0", port=int(os.getenv("PORT", 8000)))
This will start the server at http://localhost: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 agentcomlink import get_file
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 the path
and content
parameters.
from agentcomlink import add_file
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:
Example:
from agentcomlink import start_server
start_server("/my/storage/directory")
get_server()
Returns the FastAPI application instance.
Arguments:
Returns:
- FastAPI application instance.
Example:
from agentcomlink 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 agentcomlink 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 agentcomlink 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 agentcomlink 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 agentcomlink 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 agentcomlink import list_files
files = list_files()
list_files_formatted(path='.')
Lists all files in the specified directory as a formatted string. Convenient!
Arguments:
path
(str, optional): The path to the directory. Defaults to '.'
(current directory).
Returns:
- A string containing a list of file names in the specified directory.
Example:
from agentcomlink 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 agentcomlink 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.