Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2,619 Commits

Repository files navigation

Python Deadlines

pages-build-deploymentGitHub commit activityAll ContributorsGitHub Repo starsCrowdin

Countdown timers to keep track of a bunch of Python conference deadlines.

Contributing

Contributions are very welcome!

GIF of adding a conference to pythondeadlin.es

To add or update a deadline:

  • Fork the repository
  • Update _data/conferences.yml
  • Make sure it has the conference, year, link, cfp, place, sub attributes
  • Optionally add a note
  • Send a pull request

Examples

Minimal Submission

- conference: BestConf # Title of conferenceyear: 2022# Yearlink: link-to-website.com # URL to conferencecfp: 'YYYY-MM-DD HH:mm:ss'# Deadline for Call for Participation / Proposalsplace: Incheon, South Korea # City, Country# Nicely written dates of conferencestart: YYYY-MM-DD # Start date of conference for calendarend: YYYY-MM-DD # End date of conference for calendarsub: PY # Type of conference (see or add _data/types.yml)

Full Data

- conference: BestConf # Title of conferencealt_name: Bestest Conf # Names change, keep track of Alternate names hereyear: 2022# Yearlink: link-to-website.com # URL to conferencecfp_link: link-to-cfp.com # URL to call for proposals (Optional)cfp: 'YYYY-MM-DD HH:mm:ss'# Deadline for Call for Participation / Proposalscfp_ext: 'YYYY-MM-DD HH:mm:ss'# Extension of Deadline for Call for Participation / Proposalsworkshop_deadline: 'YYYY-MM-DD HH:mm:ss'# Workshop deadline if different from cfp (Optional)tutorial_deadline: 'YYYY-MM-DD HH:mm:ss'# Tutorial deadline if different from cfp (Optional)timezone: Asia/Seoul # Standard IANA Timezones (Omit for AoE)place: Incheon, South Korea # City, Country# Nicely written dates of conferencestart: YYYY-MM-DD # Start date of conference for calendarend: YYYY-MM-DD # End date of conference for calendarsponsor: link-to-sponsor.page # URL to Sponsorship page (Optional)finaid: link-to-finaid.page # URL to Financial Aid page (Optional)twitter: BestConfEver # Twitter handle of conference (Optional)mastodon: https://mastodon.social/@bconf # Mastodon handle of conference (Optional)sub: PY # Type of conference (see or add _data/types.yml)note: Important # In case there are extra notes about the conference (Optional)location: # Geolocation for inclusion in maplatitude: 0.00longitude: 0.00

Description of entries

subDescriptionTypeRequired
conferenceTitle of the conferencestr
alt_nameAlternative Name of conferencestr
yearYear of this conferenceint
linkURL to conferencestr
cfp_linkURL to call for proposalsstr
cfpDeadline for Call for Participation / Proposalsstr
cfp_extExtension for Call for Participation / Proposalsstr
workshop_deadlineWorkshop deadline if different from cfpstr
tutorial_deadlineTutorial deadline if different from cfpstr
timezoneStandard IANA Timezones (Omit for AoE)str
placeCity, Countrystr
startStart date of conference for calendardate
endEnd date of conference for calendardate
finaidURL to financial aid informationstr
sponsorURL to sponsorship opportunitiesstr
twitterTwitter handle of conferencestr
mastodonMastodon handle of conferencestr
subType of conferencestr
noteExtra notes about the conferencestr
locationGeolocation for inclusion in mapstr
latitudeLatitude of venuefloat
longitudeLongitude of venuefloat

Conference types for sub

subCategory name
PYGeneral Python
SCIPYScientific Python
DATAPython for Data
WEBPython for Web
BIZPython for Business
GEOPython for Earth

Utils

I have created extensive scripts to import data from other sources and tidy up entries.

Check out the utils folder for those.

I mainly run the main.py and sort_yaml.py to get new entries and move old entries into the archive.

Forks & other useful listings

Testing

Frontend JavaScript Tests

# Run all frontend tests
npm test# Run with coverage report
npm run test:coverage
# Run tests in watch mode (for development)
npm run test:watch
# Debug tests
npm run test:debug

End-to-End Tests

# Install Playwright browsers (first time only)
npm run playwright:install-all
# Run E2E tests
npm run e2e
# Run E2E tests with UI (for debugging)
npm run e2e:ui
# Run E2E tests for specific browser
npm run e2e:fast # Chromium only
npm run e2e:all # All browsers
npm run e2e:mobile # Mobile viewports# Generate E2E test code
npm run e2e:codegen

Python Tests

# Using pixi (recommended)
pixi run test
pixi run test-cov # With coverage
pixi run test-fast # Stop on first failure# Or using pytest directly
python -m pytest tests/
python -m pytest tests/ --cov=utils --cov-report=html

Jekyll Build Test

# Test Jekyll build
bundle exec jekyll build
# Serve for local testing
pixi run serve
# Or with test configuration
npm run serve:test

Continuous Integration

The project uses GitHub Actions for automated testing:

  • Smart Test Runner: Intelligently skips tests for data-only changes
  • Frontend Tests: Run on JavaScript changes
  • E2E Tests: Run on frontend/template changes
  • Python Tests: Run on utility changes
  • Data Validation: Always runs to ensure conference data integrity

See CI Optimization Documentation for details on how we save CI costs.

Translations

Python Deadlines is available in multiple languages to make Python conference information accessible to a global audience. We use Crowdin to manage our translations.

Currently Supported Languages

  • English (en)
  • Spanish (es)
  • German (de)
  • French (fr)
  • Portuguese (Brazilian) (pt-br)
  • Chinese (Simplified) (zh-cn)
  • Russian (ru)
  • Indonesian (id)
  • Hindi (hi)

Contributing to Translations

We welcome contributions to translate Python Deadlines into more languages! You don't need to be a developer or understand Git to help with translations.

For detailed instructions on how to contribute translations, please see our Translation Guide (TRANSLATION.md).

If you'd like to add support for a new language, please open an issue.

Contributors

Jesper Dramsch
Jesper Dramsch

️️️️♿️🐛📝💻📆🖋📖🎨💵🤔🚇📣👀🛡️🔧🌍📢
Abhishek Das
Abhishek Das

💻
John Sandall
John Sandall

📆🐛
Thibaud Colas
Thibaud Colas

📆
Tankala Ashok
Tankala Ashok

📆
Rob de Wit
Rob de Wit

📆
Takanori Suzuki
Takanori Suzuki

📆
Alexander CS Hendorf
Alexander CS Hendorf

📆
Radu
Radu

🐛
Isabel Zimmerman
Isabel Zimmerman

🐛
Jeroen Janssens
Jeroen Janssens

📆
David Horvath
David Horvath

📆
Olivier Grisel
Olivier Grisel

📆
Mateusz Sokół
Mateusz Sokół

📆
Theodore Meynard
Theodore Meynard

📆
Konrad Gawda
Konrad Gawda

📆
Ege Akman
Ege Akman

🐛📆💻
Ravi Selker
Ravi Selker

📆
Bardi Harborow
Bardi Harborow

📆
Ricky
Ricky

📆
Florian Bruhin
Florian Bruhin

📆
jungmir
jungmir

📆
Neil Muller
Neil Muller

📆
Ferran Jovell
Ferran Jovell

📆

License

This project is licensed under MIT.

It uses:

About

⏰ Python conference deadline countdowns

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

38 stars

Watchers

3 watching

Forks

Used by

Contributors

Languages