{"id":18738592,"url":"https://github.com/pythonindia/junction-client","last_synced_at":"2025-11-18T04:30:17.400Z","repository":{"id":66845794,"uuid":"62950781","full_name":"pythonindia/junction-client","owner":"pythonindia","description":"Python API client for junction","archived":false,"fork":false,"pushed_at":"2016-07-10T11:51:44.000Z","size":18,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-12-28T17:34:16.385Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pythonindia.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}},"created_at":"2016-07-09T13:28:33.000Z","updated_at":"2018-07-05T08:43:16.000Z","dependencies_parsed_at":"2023-05-11T05:30:24.730Z","dependency_job_id":null,"html_url":"https://github.com/pythonindia/junction-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonindia%2Fjunction-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonindia%2Fjunction-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonindia%2Fjunction-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythonindia%2Fjunction-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pythonindia","download_url":"https://codeload.github.com/pythonindia/junction-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239613907,"owners_count":19668657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-07T15:29:40.521Z","updated_at":"2025-11-18T04:30:17.358Z","avatar_url":"https://github.com/pythonindia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Junction API client.\n\n#### Installation\n\n`pip install git+git://github.com/pythonindia/junction-client.git`\n\n#### API\n\n``` python\n\nIn [4]: from junction import JunctionClient\n\nIn [5]: client = JunctionClient('https://in.pycon.org/cfp/')\n\nIn [6]: client.conferences\nOut[6]:\n[\u003cConference(id=5, name=PyCon India 2016, start_date=2016-09-23 00:00:00, end_date=2016-09-25 00:00:00)\u003e,\n \u003cConference(id=4, name=PyCon India 2015 open spaces, start_date=2015-10-03 00:00:00, end_date=2015-10-04 00:00:00)\u003e,\n \u003cConference(id=3, name=PyCon India 2015 poster session, start_date=2015-10-03 00:00:00, end_date=2015-10-04 00:00:00)\u003e,\n \u003cConference(id=1, name=PyCon India 2015, start_date=2015-10-02 00:00:00, end_date=2015-10-04 00:00:00)\u003e,\n \u003cConference(id=2, name=PyCon India Dev Sprint 2015, start_date=2015-10-02 00:00:00, end_date=2015-10-02 00:00:00)\u003e]\n\nIn [7]: conf_2016 = client.conferences[0]\n\n\nIn [8]: conf_2016.venue\nOut[8]: \u003cVenue(id=2, name=JNU - Jawahar Lal Nehru University,)\u003e\n\nIn [9]: conf_2016.venue.rooms\nOut[9]: [Room(id=5, name='Conference Hall', venue='http://in.pycon.org/cfp/api/v1/venues/2/', note='Conference Hall')]\n\nIn [10]: conf_2015 = client.conferences[-2]\n\nIn [11]: schdeule = conf_2015.schedule\n\nIn [12]: schedule = conf_2015.schedule\n\nIn [13]: schedule.\nschedule.clear       schedule.copy        schedule.fromkeys    schedule.get         schedule.items       schedule.keys        schedule.pop         schedule.popitem     schedule.setdefault  schedule.update      schedule.values\n\nIn [14]: schedule.keys()\nOut[14]: dict_keys(['2015-10-02', '2015-10-03', '2015-10-04'])\n\nIn [15]: schedule['2015-10-02']\nOut[15]:\n{'09:30:00 - 12:00:00': [\u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e],\n '12:30:00 - 13:00:00': [\u003cScheduleItemSerializer instance\u003e],\n '13:00:00 - 15:30:00': [\u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e],\n '16:00:00 - 18:30:00': [\u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e,\n  \u003cScheduleItemSerializer instance\u003e]}\n\nIn [16]: schedule['2015-10-02']['16:00:00 - 18:30:00']\nOut[16]:\n[\u003cScheduleItemSerializer instance\u003e,\n \u003cScheduleItemSerializer instance\u003e,\n \u003cScheduleItemSerializer instance\u003e]\n\nIn [17]: item = schedule['2015-10-02']['16:00:00 - 18:30:00'][0]\n\nIn [18]: item.session\nOut[18]: \u003cSessionSerializer instance\u003e\n\nIn [19]: item.id\nOut[19]: 8\n\nIn [20]: item.start_time\nOut[20]: datetime.datetime(1900, 1, 1, 16, 0)\n\nIn [21]: item.type\nOut[21]: 'Workshop'\n\nIn [22]: item.session.title\nOut[22]: 'Building NextGen IoT solutions using Python and Cloud'\n\nIn [23]: item.session.to_native()\nOut[23]:\n{'author': 'Saurabh Kirtani',\n 'content_urls': '...',\n 'description': \"...\",\n 'id': 83,\n 'prerequisites': '...',\n 'section': 'Embedded Python',\n 'speaker_info': '..',\n 'speaker_links': '...',\n 'target_audience': 1,\n 'title': 'Building NextGen IoT solutions using Python and Cloud'}\n\nIn [24]: questions = conf_2015.feedback_questions\n\nIn [25]: questions\nOut[25]:\n{'Talk': \u003cFeedbackQuestionSerializer instance\u003e,\n 'Workshop': \u003cFeedbackQuestionSerializer instance\u003e}\n\nIn [26]: questions['Talk']\nOut[26]: \u003cFeedbackQuestionSerializer instance\u003e\n\nIn [27]: questions['Talk'].text\nOut[27]: [\u003cTextFeedbackQuestionSerializer instance\u003e]\n\nIn [28]: questions['Talk'].text[0].to_primitive()\nOut[28]:\n{'id': 1,\n 'is_required': False,\n 'schedule_item_type': 'Talk',\n 'title': 'Any other feedback for the talk ?',\n 'type': 'text'}\n\nIn [29]: questions['Talk'].choice[0].to_primitive()\nOut[29]:\n{'allowed_choices': [{'id': 18, 'title': 'Good', 'value': 2},\n  {'id': 17, 'title': 'Ok', 'value': 1},\n  {'id': 16, 'title': 'Bad', 'value': 0}],\n 'id': 6,\n 'is_required': True,\n 'schedule_item_type': 'Talk',\n 'title': 'Does the speaker have experience on the subject?',\n 'type': 'choice'}\n\nIn [30]: questions['Talk'].choice[1].allowed_choices\nOut[30]:\n[\u003cAllowedChoiceValidator instance\u003e,\n \u003cAllowedChoiceValidator instance\u003e,\n \u003cAllowedChoiceValidator instance\u003e]\n\nIn [31]: questions['Talk'].choice[1].allowed_choices[0].id\nOut[31]: 12\n\nIn [32]: questions['Talk'].choice[1].is_required\nOut[32]: True\n\nIn [33]: conf_2016.get_token()\nOut[33]: '6a6f531c-4692-11e6-8714-ac87a3379142'\n\nIn [34]: conf_2016.get_token()\nOut[34]: '6a6f531c-4692-11e6-8714-ac87a3379142'\n\nIn [35]: conf_2016.get_token(force_fetch=True)\nOut[35]: '77345ad4-4692-11e6-8ad3-ac87a3379142'\n\n```\n\nTo submit a feedback, call `conf.submit_feedback(data)`. Before calling `submit_feedback`, call `conf.get_token()`.\n\nThe client is still in development mode. HTTP Docs is available in [Junction Repo](https://github.com/pythonindia/junction/blob/master/docs/api.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythonindia%2Fjunction-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpythonindia%2Fjunction-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythonindia%2Fjunction-client/lists"}