{"id":33235938,"url":"https://github.com/fishjam-cloud/python-server-sdk","last_synced_at":"2026-02-10T10:02:52.034Z","repository":{"id":257807281,"uuid":"816307696","full_name":"fishjam-cloud/python-server-sdk","owner":"fishjam-cloud","description":"Python Server SDK for Fishjam","archived":false,"fork":false,"pushed_at":"2026-02-09T14:53:09.000Z","size":10747,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-09T15:40:13.075Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fishjam.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fishjam-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-17T13:27:52.000Z","updated_at":"2026-02-09T10:42:02.000Z","dependencies_parsed_at":"2024-10-02T15:39:17.027Z","dependency_job_id":"cc43d48e-d53e-4d30-9abb-e6fffe5b5808","html_url":"https://github.com/fishjam-cloud/python-server-sdk","commit_stats":null,"previous_names":["fishjam-cloud/python-server-sdk"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/fishjam-cloud/python-server-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fishjam-cloud%2Fpython-server-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fishjam-cloud%2Fpython-server-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fishjam-cloud%2Fpython-server-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fishjam-cloud%2Fpython-server-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fishjam-cloud","download_url":"https://codeload.github.com/fishjam-cloud/python-server-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fishjam-cloud%2Fpython-server-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29297101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T09:11:24.369Z","status":"ssl_error","status_checked_at":"2026-02-10T09:10:47.789Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-16T18:05:09.660Z","updated_at":"2026-02-10T10:02:52.029Z","avatar_url":"https://github.com/fishjam-cloud.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./images/fishjam-card.png\" width=\"100%\"\u003e\n\n# Fishjam Python Server SDK\n\nPython server SDK for the [Fishjam](https://fishjam.io/).\n\nRead the docs [here](https://fishjam-cloud.github.io/python-server-sdk)\n\n## Installation\n\n```\npip install fishjam-server-sdk\n```\n\n## Usage\n\nThe SDK exports two main classes for interacting with Fishjam server:\n`FishjamClient` and `FishjamNotifier`.\n\n`FishjamClient` wraps http REST api calls, while `FishjamNotifier` is responsible for receiving real-time updates from the server.\n\n### FishjamClient\n\nCreate a `FishjamClient` instance, providing the fishjam server address and api token\n\n```python\nfrom fishjam import FishjamClient\n\nfishjam_client = FishjamClient(fishjam_id=\"\u003cfishjam_id\u003e\", management_token=\"\u003cmanagement_token\u003e\")\n```\n\nYou can use it to interact with Fishjam to manage rooms and peers\n\n```python\n# Create a room\noptions = RoomOptions(video_codec=\"h264\", webhook_url=\"http://localhost:5000/webhook\")\nroom = fishjam_client.create_room(options=options)\n\n# Room(components=[], config=RoomConfig(max_peers=None, video_codec=\u003cRoomConfigVideoCodec.H264: 'h264'\u003e, webhook_url='http://localhost:5000/webhook'), id='1d905478-ccfc-44d6-a6e7-8ccb1b38d955', peers=[])\n\n# Add peer to the room\npeer, token = fishjam_client.create_peer(room.id)\n\n# Peer(id='b1232c7e-c969-4450-acdf-ea24f3cdd7f6', status=\u003cPeerStatus.DISCONNECTED: 'disconnected'\u003e, type='webrtc'), 'M8TUGhj-L11KpyG-2zBPIo'\n```\n\nAll methods in `FishjamClient` may raise one of the exceptions deriving from `fishjam.errors.HTTPError`. They are defined in `fishjam.errors`.\n\n### FishjamNotifier\n\nFishjamNotifier allows for receiving real-time updates from the Fishjam Server.\n\nYou can read more about notifications in the\n[Fishjam Docs](https://fishjam-cloud.github.io/fishjam-docs/next/getting_started/notifications).\n\nCreate `FishjamNotifier` instance\n\n```python\nfrom fishjam import FishjamNotifier\n\nfishjam_notifier = FishjamNotifier(fishjam_id='\u003cfishjam_id\u003e', management_token='\u003cmanagement_token\u003e')\n```\n\nThen define a handler for incoming messages\n\n```python\n@notifier.on_server_notification\ndef handle_notification(server_notification):\n    print(f'Received a notification: {server_notification}')\n```\n\nAfter that you can start the notifier\n\n```python\nasync def test_notifier():\n    notifier_task = asyncio.create_task(fishjam_notifier.connect())\n\n    # Wait for notifier to be ready to receive messages\n    await fishjam_notifier.wait_ready()\n\n    # Create a room to trigger a server notification\n    fishjam_client = FishjamClient()\n    fishjam_client.create_room()\n\n    await notifier_task\n\nasyncio.run(test_notifier())\n\n# Received a notification: ServerMessageRoomCreated(room_id='69a3fd1a-6a4d-47bc-ae54-0c72b0d05e29')\n```\n\n## License\n\nLicensed under the [Apache License, Version 2.0](LICENSE)\n\n## Fishjam is created by Software Mansion\n\nSince 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile\napps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help\nyou build your next dream product –\n[Hire us](https://swmansion.com/contact/projects?utm_source=fishjam\u0026utm_medium=python-readme).\n\n[![Software Mansion](https://logo.swmansion.com/logo?color=white\u0026variant=desktop\u0026width=200\u0026tag=react-client)](https://swmansion.com/contact/projects?utm_source=fishjam\u0026utm_medium=python-readme)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffishjam-cloud%2Fpython-server-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffishjam-cloud%2Fpython-server-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffishjam-cloud%2Fpython-server-sdk/lists"}