fellow-aiden


Namefellow-aiden JSON
Version 0.1.7 PyPI version JSON
download
home_pagehttps://github.com/9b/fellow-aiden
SummaryInterface for interacting with Fellow Aiden coffee brewer
upload_time2025-01-26 13:03:15
maintainerNone
docs_urlNone
authorBrandon Dixon
requires_pythonNone
licenseGNUV3
keywords coffee coffee brewer fellow coffee tech
VCS
bugtrack_url
requirements annotated-types certifi charset-normalizer idna pydantic pydantic_core requests setuptools typing_extensions urllib3 wheel fellow-aiden openai
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Fellow Aiden

[![PyPI version](https://badge.fury.io/py/fellow-aiden.svg)](https://badge.fury.io/py/fellow-aiden)

This library provides an interface to the Fellow Aiden coffee brewer. An additional brew studio UI with support for AI-generated recipes is also included. You can run the Brew Studio locally on your system or make use of the hosted version: [https://fellow-brew-studio.streamlit.app/](https://fellow-brew-studio.streamlit.app/)

![Fellow Brew Studio](https://github.com/9b/fellow-aiden/blob/master/brew_studio/fellow-brew-studio.png?raw=true)

## Quick Start

**Install the library**:

```sh
pip install fellow-aiden
# or
python setup.py install
```

**Set ENV variables**:

```sh
export FELLOW_EMAIL='YOUR-EMAIL-HERE'
export FELLOW_PASSWORD='YOUR-PASSWORD-HERE'
```

## Sample Code

This sample code shows some of the range of functionality within the library:

```python
import os
from fellow_aiden import FellowAiden

# EMAIL = "YOUR-EMAIL-HERE"
# PASSWORD = "YOUR-PASSWORD-HERE"

EMAIL = os.environ['FELLOW_EMAIL']
PASSWORD = os.environ['FELLOW_PASSWORD']

# Create an instance
aiden = FellowAiden(EMAIL, PASSWORD)

# Get display name of brewer
name = aiden.get_display_name()

# Get profiles
profiles = aiden.get_profiles()

# Add a profile
profile = {
    "profileType": 0,
    "title": "Debug-FellowAiden",
    "ratio": 16,
    "bloomEnabled": True,
    "bloomRatio": 2,
    "bloomDuration": 30,
    "bloomTemperature": 96,
    "ssPulsesEnabled": True,
    "ssPulsesNumber": 3,
    "ssPulsesInterval": 23,
    "ssPulseTemperatures": [96,97,98],
    "batchPulsesEnabled": True,
    "batchPulsesNumber": 2,
    "batchPulsesInterval": 30,
    "batchPulseTemperatures": [96,97]
}
aiden.create_profile(profile)

# Find profile
pid = None
option = aiden.get_profile_by_title('FellowAiden', fuzzy=True)
if option:
    pid = option['id'] # p0

# Share a profile
share_link = aiden.generate_share_link(pid)

# Delete a profile
aiden.delete_profile_by_id(pid)

# Add profile from shared brew link
aiden.create_profile_from_link('https://brew.link/p/ws98')
```

## Profile Details

Below is an example profile:

```json
[{
    "id": "p0",
    "profileType": 0,
    "title": "Hot Water",
    "ratio": 15,
    "bloomRatio": null,
    "bloomDuration": null,
    "bloomTemperature": null,
    "ssPulsesNumber": 1,
    "ssPulsesInterval": 1,
    "ssPulseTemperatures": [99],
    "batchPulsesNumber": 1,
    "batchPulsesInterval": 5,
    "batchPulseTemperatures": [99],
    "overallTemperature": null,
    "isDefaultProfile": false,
    "bloomEnabled": false,
    "instantBrew": false,
    "folder": "Custom",
    "duration": null,
    "lastGBQuantity": null,
    "lastUsedTime": null,
    "deviceId": "FB_02c4139a-50c6-f4ce-363b-6f9e1840307e",
    "ssPulsesEnabled": true,
    "batchPulsesEnabled": true,
    "synced": true
}]
```

## Features

* Access all settings and details from Aiden brewer
* Manage custom brewing profiles
* Add shared profiles from URL
* Generate share links from custom profiles
* Search profiles using title (match and fuzzy)
* Brew Studio UI with support for AI, Brew Links and Profile adjustments



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/9b/fellow-aiden",
    "name": "fellow-aiden",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "coffee, coffee brewer, fellow, coffee tech",
    "author": "Brandon Dixon",
    "author_email": "brandon@9bplus.com",
    "download_url": null,
    "platform": null,
    "description": "# Fellow Aiden\n\n[![PyPI version](https://badge.fury.io/py/fellow-aiden.svg)](https://badge.fury.io/py/fellow-aiden)\n\nThis library provides an interface to the Fellow Aiden coffee brewer. An additional brew studio UI with support for AI-generated recipes is also included. You can run the Brew Studio locally on your system or make use of the hosted version: [https://fellow-brew-studio.streamlit.app/](https://fellow-brew-studio.streamlit.app/)\n\n![Fellow Brew Studio](https://github.com/9b/fellow-aiden/blob/master/brew_studio/fellow-brew-studio.png?raw=true)\n\n## Quick Start\n\n**Install the library**:\n\n```sh\npip install fellow-aiden\n# or\npython setup.py install\n```\n\n**Set ENV variables**:\n\n```sh\nexport FELLOW_EMAIL='YOUR-EMAIL-HERE'\nexport FELLOW_PASSWORD='YOUR-PASSWORD-HERE'\n```\n\n## Sample Code\n\nThis sample code shows some of the range of functionality within the library:\n\n```python\nimport os\nfrom fellow_aiden import FellowAiden\n\n# EMAIL = \"YOUR-EMAIL-HERE\"\n# PASSWORD = \"YOUR-PASSWORD-HERE\"\n\nEMAIL = os.environ['FELLOW_EMAIL']\nPASSWORD = os.environ['FELLOW_PASSWORD']\n\n# Create an instance\naiden = FellowAiden(EMAIL, PASSWORD)\n\n# Get display name of brewer\nname = aiden.get_display_name()\n\n# Get profiles\nprofiles = aiden.get_profiles()\n\n# Add a profile\nprofile = {\n    \"profileType\": 0,\n    \"title\": \"Debug-FellowAiden\",\n    \"ratio\": 16,\n    \"bloomEnabled\": True,\n    \"bloomRatio\": 2,\n    \"bloomDuration\": 30,\n    \"bloomTemperature\": 96,\n    \"ssPulsesEnabled\": True,\n    \"ssPulsesNumber\": 3,\n    \"ssPulsesInterval\": 23,\n    \"ssPulseTemperatures\": [96,97,98],\n    \"batchPulsesEnabled\": True,\n    \"batchPulsesNumber\": 2,\n    \"batchPulsesInterval\": 30,\n    \"batchPulseTemperatures\": [96,97]\n}\naiden.create_profile(profile)\n\n# Find profile\npid = None\noption = aiden.get_profile_by_title('FellowAiden', fuzzy=True)\nif option:\n    pid = option['id'] # p0\n\n# Share a profile\nshare_link = aiden.generate_share_link(pid)\n\n# Delete a profile\naiden.delete_profile_by_id(pid)\n\n# Add profile from shared brew link\naiden.create_profile_from_link('https://brew.link/p/ws98')\n```\n\n## Profile Details\n\nBelow is an example profile:\n\n```json\n[{\n    \"id\": \"p0\",\n    \"profileType\": 0,\n    \"title\": \"Hot Water\",\n    \"ratio\": 15,\n    \"bloomRatio\": null,\n    \"bloomDuration\": null,\n    \"bloomTemperature\": null,\n    \"ssPulsesNumber\": 1,\n    \"ssPulsesInterval\": 1,\n    \"ssPulseTemperatures\": [99],\n    \"batchPulsesNumber\": 1,\n    \"batchPulsesInterval\": 5,\n    \"batchPulseTemperatures\": [99],\n    \"overallTemperature\": null,\n    \"isDefaultProfile\": false,\n    \"bloomEnabled\": false,\n    \"instantBrew\": false,\n    \"folder\": \"Custom\",\n    \"duration\": null,\n    \"lastGBQuantity\": null,\n    \"lastUsedTime\": null,\n    \"deviceId\": \"FB_02c4139a-50c6-f4ce-363b-6f9e1840307e\",\n    \"ssPulsesEnabled\": true,\n    \"batchPulsesEnabled\": true,\n    \"synced\": true\n}]\n```\n\n## Features\n\n* Access all settings and details from Aiden brewer\n* Manage custom brewing profiles\n* Add shared profiles from URL\n* Generate share links from custom profiles\n* Search profiles using title (match and fuzzy)\n* Brew Studio UI with support for AI, Brew Links and Profile adjustments\n\n\n",
    "bugtrack_url": null,
    "license": "GNUV3",
    "summary": "Interface for interacting with Fellow Aiden coffee brewer",
    "version": "0.1.7",
    "project_urls": {
        "Homepage": "https://github.com/9b/fellow-aiden"
    },
    "split_keywords": [
        "coffee",
        " coffee brewer",
        " fellow",
        " coffee tech"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d67e1dd7e4db935cb0b005ed746dbd427a70171853fb4c2d7f1bd7714159c8d",
                "md5": "d84b4258549c8077703d90457114685c",
                "sha256": "a251e1e4630140a0e6ca96538decacfdaa80b4d2d1ada3f17f7a6a2d2ce762e6"
            },
            "downloads": -1,
            "filename": "fellow_aiden-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d84b4258549c8077703d90457114685c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 23957,
            "upload_time": "2025-01-26T13:03:15",
            "upload_time_iso_8601": "2025-01-26T13:03:15.666153Z",
            "url": "https://files.pythonhosted.org/packages/5d/67/e1dd7e4db935cb0b005ed746dbd427a70171853fb4c2d7f1bd7714159c8d/fellow_aiden-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-26 13:03:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "9b",
    "github_project": "fellow-aiden",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.12.14"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.1"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.10.4"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    "==",
                    "2.27.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "75.1.0"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    "==",
                    "0.44.0"
                ]
            ]
        },
        {
            "name": "fellow-aiden",
            "specs": [
                [
                    "==",
                    "0.1.7"
                ]
            ]
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.59.8"
                ]
            ]
        }
    ],
    "lcname": "fellow-aiden"
}
        
Elapsed time: 1.32561s