Skip to main content

CLI to find an optimal, personal schedule for the 37c3 congress.

Project description

Optimal Congress

CLI to find an optimal, personal schedule for the 37c3 congress.

Optimization logic

The optimization relies on a simple 2-fold logic:

  1. Find a personal schedule that maximizes the sum of 'rating scores' assigned to scheduled events.
  2. The schedule must be feasible, i.e. the times of scheduled events must not overlap.

Installation

pip install optimal-congress

Example Workflow

  1. Fetch events and rooms from congress API:
$ optimal-congress fetch

Fetching events and rooms from API...
Fetched 49 events and 58 rooms from API.

Comparing API with cache...
Found 0 new events, and 0 removed events.

Updating cache...
Done.
  1. Interactively rate events, if not already rated:
$ optimal-congress rate

Unrated event (1/65):

2023-12-28 20:15 - 20:55

Lützerath Lebt! Einblicke in den Widerstand

You can't evict a movement! Der Energiekonzern RWE wird noch Jahre brauchen, die Kohle unter Lützi abzubaggern: Der Kampf gegen die Kohle und für Klimagerechtigkeit geht weiter!

https://events.ccc.de/congress/2023/hub/en/event/lutzerath_lebt_einblicke_in_den_widerstand

Rate from 0 to 10 (Enter to exit):
  1. Review you current ratings:
$ optimal-congress ratings

loading events and ratings from cache...

Latest ratings:
- Rating: 8.0 - Amateurfunk als Hilfe in Not- und Katastrophenfäll..https://events.ccc.de/congress/2023/hub/en/event/amateurfunk-als-hilfe-in-not-und-katastrophenfalle
- Rating: 8.0 - InfraNodus: Reveal Non-Obvious and Find the Gaps w..https://events.ccc.de/congress/2023/hub/en/event/infranodus-reveal-non-obvious-and-find-the-gaps-wi
  1. Optimize your personal schedule:
$ optimal-congress optimize

loading events and ratings from cache...

Scheduled events:
- Wed 27 10:30-11:00: 37C3: Feierliche Eröffnung...........................https://events.ccc.de/congress/2023/hub/en/event/37c3_feierliche_eroffnung
- Wed 27 13:00-15:30: POTA – Parks on the Air [Day 1]......................https://events.ccc.de/congress/2023/hub/en/event/pota-parks-on-the-air
...

Testing

Software testing uses pytest, relying upon poetry and tox.
To run all tests, across multiple python versions:

poetry run tox

Roadmap

  • new command 'next', for next N events. with 'minimum rating' as filter argument
  • test export of schedule to iOS app via QR code

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

optimal_congress-0.6.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

optimal_congress-0.6.1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file optimal_congress-0.6.1.tar.gz.

File metadata

  • Download URL: optimal_congress-0.6.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.6.6-76060606-generic

File hashes

Hashes for optimal_congress-0.6.1.tar.gz
Algorithm Hash digest
SHA256 0111b9703af4f18a07fe98d90a8941bb4d2837ed534dc02e5bae96a5db040467
MD5 69ecf815efb6d6367ae61fc791184336
BLAKE2b-256 1f8776909b01a52ba2bce901454fd0de6a9f08bee3cb4a6f8505f7626373e6b3

See more details on using hashes here.

File details

Details for the file optimal_congress-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: optimal_congress-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.6.6-76060606-generic

File hashes

Hashes for optimal_congress-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a2c9f42c929959eef771faf0eb2e39d129e690854751e0c5c0eefac412774b4
MD5 a6f94e1ba31c75da5fe3dabf82147a4e
BLAKE2b-256 f571f1025d68a5e6aaa8c310fdcb8f9ca61259e05db316f816d03a50765cff31

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