Skip to main content

A client library for the FlyFlow API

Project description

Flyflow

Flyflow is a Python client library for interacting with the Flyflow API. It provides a simple and intuitive interface to manage agents, calls, and perform various operations related to the Flyflow platform.

Installation

You can install the Flyflow package using pip:

pip install flyflowclient

Usage

To use the Flyflow client library, you need to import the Flyflow class from the flyflow.client module:

from flyflowclient import Flyflow

client = Flyflow()

By default, the client will load the API key from the FLYFLOW_API_KEY environment variable. If you want to provide the API key explicitly, you can pass it as a parameter when creating the client instance:

client = Flyflow(api_key='your_api_key')

The default base URL for the Flyflow API is https://api.flyflow.dev/v1. If you need to use a different base URL, you can pass it as a parameter:

client = Flyflow(base_url='https://custom-api-url.com')

Agent Management

Upsert an Agent

agent = client.upsert_agent(
   name='Agent Name',
   system_prompt='System prompt',
   initial_message='Initial message',
   llm_model='gpt-3.5-turbo',
   voice_id='voice_id',
   webhook='https://webhook-url.com',
   tools=[],
   filler_words=True,
   actions=[],
   voicemail_number='+1234567890',
   chunking=True,
   endpointing=200,
   voice_optimization=2
)

The upsert_agent method will create a new agent if one with the specified name doesn't exist, or update an existing agent if one with the same name already exists.

Get an Agent

agent = client.get_agent(agent_id=agent['id'])

Delete an Agent

client.delete_agent(agent_id=agent['id'])

List Agents

agents = client.list_agents(limit=10)

Call Management

Create a Call

call = client.create_call(
    from_number='+1234567890',
    to_number='+9876543210',
    context='Call context'
)

Get a Call

call = client.get_call(call_id=call['id'])

Set Call Context

updated_call = client.set_call_context(
   call_id=call['id'],
   context='Updated call context'
)

List Calls

calls = client.list_calls(limit=10, agent_id=agent['id'])

Filler Words

Get Filler Words

filler_words = client.get_filler_words(text='Your text here')

For more detailed information about the available methods and their parameters, please refer to the Flyflow API documentation.

Publishing the Package

To publish the Flyflow package to PyPI, follow these steps:

  1. Make sure you have the latest version of setuptools and wheel installed:

    pip install --upgrade setuptools wheel
    
  2. Run the following command to build the package:

    python setup.py sdist bdist_wheel
    
  3. Install twine if you haven't already:

    pip install twine
    
  4. Upload the package to PyPI using twine:

    twine upload dist/*
    

    You will be prompted to enter your PyPI username and password.

  5. Once the upload is successful, your package will be available on PyPI, and users can install it using pip install flyflow.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request on the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flyflowclient-1.14.16.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

flyflowclient-1.14.16-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file flyflowclient-1.14.16.tar.gz.

File metadata

  • Download URL: flyflowclient-1.14.16.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for flyflowclient-1.14.16.tar.gz
Algorithm Hash digest
SHA256 406023a327c222118e8389c30f782cdca128e0126d5ca42542cb1313ee0a3465
MD5 fd2b61c811259feb3faad2347de40f88
BLAKE2b-256 6ef05177e4de6ec977921b9b25d75f850c0a159299919faaa6f7742870298bb0

See more details on using hashes here.

File details

Details for the file flyflowclient-1.14.16-py3-none-any.whl.

File metadata

File hashes

Hashes for flyflowclient-1.14.16-py3-none-any.whl
Algorithm Hash digest
SHA256 50fd552dd820d8c46671b533cf99282907ac3784b0da1e8bf37c9d7c20bdb6bb
MD5 34baddb0571bd6ebeee83c8a01e50af7
BLAKE2b-256 00f749969fa9b175524713bf660e419c0ccb20ddb8d2d2ef5d4477758a409879

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page