rev-claude-api


Namerev-claude-api JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/AshwinPathi/claude
SummaryUnofficial Anthropic Claude API for Python3.
upload_time2023-07-20 09:02:45
maintainer
docs_urlNone
author
requires_python
licenseMIT
keywords llm claude api gpt
VCS
bugtrack_url
requirements sseclient_py
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Unofficial Claude API For Python

The UNOFFICIAL free API for Anthropic's Claude LLM.

## Implemented actions:
The Unofficial Claude API is under active development. The following endpoints are usable in some capacity:

- Getting organizations you're in
- Getting conversations you're in
- Starting a conversation
- Sending a message and receiving a response (can't send files yet)
- Delete a conversation
- Create an attachment from a file
- Send attachments

Note that the api is __**synchronous**__.


## Usage

### Step 1
Install the library using the following:
```
pip install git+git://github.com/github.com/AshwinPathi/claude.git#egg=claude
```

### Step 2
Get a `sessionKey` from the Claude website. You will need this to start the bot. Ideally also have a user agent of the computer you use to access claude.

You can get this information by logging into `https://claude.ai/chats` and doing the following:

1. open inspect element (f12 on chrome)
2. On the top bar, go to the `Application` tab.
3. Under `Storage`, go to `Cookies`.
4. look for a cookie called `https://claude.ai`, click it.
5. click the `sessionKey` field, and copy the session key down. It should begin with `sk-ant-sid01...`


### Step 3
Use the bot. You can see an example at `example.py`.

#### Examples:

##### Create the client and wrapper
```py
client = claude_client.ClaudeClient(SESSION_KEY)
organizations = client.get_organizations()

claude_obj = claude_wrapper.ClaudeWrapper(client, organizations[0]['uuid'])
```

##### Starting a new conversation
```py
conversation_uuid = claude_obj.start_new_conversation("New Conversation", "Hi Claude!")
```

##### Send a message (passing in the client uuid)
```py
conversation_uuid = claude_obj.get_conversations()[0]['uuid']
response = claude_obj.send_message("How are you doing today!", conversation_uuid=conversation_uuid)
```

##### Setting a conversation context and sending a message
```py
conversation_uuid = claude_obj.get_conversations()[0]['uuid']
# This is so you don't have to constantly pass in conversation uuid on every call that requires it.
# anywhere that has an argument conversation_uuid=X can be omitted if you set the conversation context.
claude_obj.set_conversation_context(conversation_uuid)

response = claude_obj.send_message("How are you doing today!")
response = claude_obj.send_message("Who won the league of legends worlds 2022 finals?")
```

##### Sending an attachment
```py
# This generates an attachment in the right format
attachment = claude_obj.get_attachment('example_attachment.txt')
response = claude_obj.send_message("Hi Claude, what does this attachment say?", attachments=[attachment],
                                    conversation_uuid = conversation_uuid)
```

##### Deleting a conversation
```py
deleted = claude_obj.delete_conversation(conversation_uuid)
```

##### Deleting all conversations in an organization
```py
failed_deletions = claude_obj.delete_all_conversations()
assert len(failed_deletions) == 0
```

##### Renaming a conversation
```py
conversation = claude_obj.rename_conversation("New name", conversation_uuid = conversation_uuid)
```

##### Get conversation history
```py
conversation_history = claude_obj.get_conversation_info(conversation_uuid = conversation_uuid)
```


## Disclaimer
This library is UNOFFICIAL and you might get banned for using it. I am not responsible if your account gets banned. If you would like to use the actual API, go to the [anthropic website](https://docs.anthropic.com/claude/docs).

Its also under active development and is extremely unstable, so there are no guarantees it will work for you. If you find a bug or you think it should work in a scenario where it doesn't, file an issue.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/AshwinPathi/claude",
    "name": "rev-claude-api",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "llm,claude,api,gpt",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/c7/32/db4e7bbb615d8265c94fd3c630b36081bc1699f35d4206519c9d016d0c4d/rev_claude_api-0.0.1.tar.gz",
    "platform": null,
    "description": "# Unofficial Claude API For Python\n\nThe UNOFFICIAL free API for Anthropic's Claude LLM.\n\n## Implemented actions:\nThe Unofficial Claude API is under active development. The following endpoints are usable in some capacity:\n\n- Getting organizations you're in\n- Getting conversations you're in\n- Starting a conversation\n- Sending a message and receiving a response (can't send files yet)\n- Delete a conversation\n- Create an attachment from a file\n- Send attachments\n\nNote that the api is __**synchronous**__.\n\n\n## Usage\n\n### Step 1\nInstall the library using the following:\n```\npip install git+git://github.com/github.com/AshwinPathi/claude.git#egg=claude\n```\n\n### Step 2\nGet a `sessionKey` from the Claude website. You will need this to start the bot. Ideally also have a user agent of the computer you use to access claude.\n\nYou can get this information by logging into `https://claude.ai/chats` and doing the following:\n\n1. open inspect element (f12 on chrome)\n2. On the top bar, go to the `Application` tab.\n3. Under `Storage`, go to `Cookies`.\n4. look for a cookie called `https://claude.ai`, click it.\n5. click the `sessionKey` field, and copy the session key down. It should begin with `sk-ant-sid01...`\n\n\n### Step 3\nUse the bot. You can see an example at `example.py`.\n\n#### Examples:\n\n##### Create the client and wrapper\n```py\nclient = claude_client.ClaudeClient(SESSION_KEY)\norganizations = client.get_organizations()\n\nclaude_obj = claude_wrapper.ClaudeWrapper(client, organizations[0]['uuid'])\n```\n\n##### Starting a new conversation\n```py\nconversation_uuid = claude_obj.start_new_conversation(\"New Conversation\", \"Hi Claude!\")\n```\n\n##### Send a message (passing in the client uuid)\n```py\nconversation_uuid = claude_obj.get_conversations()[0]['uuid']\nresponse = claude_obj.send_message(\"How are you doing today!\", conversation_uuid=conversation_uuid)\n```\n\n##### Setting a conversation context and sending a message\n```py\nconversation_uuid = claude_obj.get_conversations()[0]['uuid']\n# This is so you don't have to constantly pass in conversation uuid on every call that requires it.\n# anywhere that has an argument conversation_uuid=X can be omitted if you set the conversation context.\nclaude_obj.set_conversation_context(conversation_uuid)\n\nresponse = claude_obj.send_message(\"How are you doing today!\")\nresponse = claude_obj.send_message(\"Who won the league of legends worlds 2022 finals?\")\n```\n\n##### Sending an attachment\n```py\n# This generates an attachment in the right format\nattachment = claude_obj.get_attachment('example_attachment.txt')\nresponse = claude_obj.send_message(\"Hi Claude, what does this attachment say?\", attachments=[attachment],\n                                    conversation_uuid = conversation_uuid)\n```\n\n##### Deleting a conversation\n```py\ndeleted = claude_obj.delete_conversation(conversation_uuid)\n```\n\n##### Deleting all conversations in an organization\n```py\nfailed_deletions = claude_obj.delete_all_conversations()\nassert len(failed_deletions) == 0\n```\n\n##### Renaming a conversation\n```py\nconversation = claude_obj.rename_conversation(\"New name\", conversation_uuid = conversation_uuid)\n```\n\n##### Get conversation history\n```py\nconversation_history = claude_obj.get_conversation_info(conversation_uuid = conversation_uuid)\n```\n\n\n## Disclaimer\nThis library is UNOFFICIAL and you might get banned for using it. I am not responsible if your account gets banned. If you would like to use the actual API, go to the [anthropic website](https://docs.anthropic.com/claude/docs).\n\nIts also under active development and is extremely unstable, so there are no guarantees it will work for you. If you find a bug or you think it should work in a scenario where it doesn't, file an issue.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Unofficial Anthropic Claude API for Python3.",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/AshwinPathi/claude"
    },
    "split_keywords": [
        "llm",
        "claude",
        "api",
        "gpt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c6d9d5b836a44b38d0aa3a62b32608e8570e23533ea5b361b8e5751af913e44",
                "md5": "47dddff6cb2fb5a26c948d9ac4545e8f",
                "sha256": "670abbe76a498b19be613f7d8ed397562514a32ee7b07bc9baa4d19eca453902"
            },
            "downloads": -1,
            "filename": "rev_claude_api-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "47dddff6cb2fb5a26c948d9ac4545e8f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 13133,
            "upload_time": "2023-07-20T09:02:44",
            "upload_time_iso_8601": "2023-07-20T09:02:44.553183Z",
            "url": "https://files.pythonhosted.org/packages/3c/6d/9d5b836a44b38d0aa3a62b32608e8570e23533ea5b361b8e5751af913e44/rev_claude_api-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c732db4e7bbb615d8265c94fd3c630b36081bc1699f35d4206519c9d016d0c4d",
                "md5": "10ae1b5e2a93801912eaa08c615e9566",
                "sha256": "a033e6a6d80e75903a8fce846429e7f9c5024263d2b06920fb656791aeed9420"
            },
            "downloads": -1,
            "filename": "rev_claude_api-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "10ae1b5e2a93801912eaa08c615e9566",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12532,
            "upload_time": "2023-07-20T09:02:45",
            "upload_time_iso_8601": "2023-07-20T09:02:45.693521Z",
            "url": "https://files.pythonhosted.org/packages/c7/32/db4e7bbb615d8265c94fd3c630b36081bc1699f35d4206519c9d016d0c4d/rev_claude_api-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-20 09:02:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AshwinPathi",
    "github_project": "claude",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "sseclient_py",
            "specs": [
                [
                    "==",
                    "1.7.2"
                ]
            ]
        }
    ],
    "lcname": "rev-claude-api"
}
        
Elapsed time: 0.25582s