-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Short update from me
I never intended to just leave, but the pandemic reduced my work capacity, which is why the last update was March 2020. Although I haven't been sick with Covid-19 yet, all the stress (and closed libraries) left me with less energy 😞 I have also begun working as a software engineer full-time at an organization that does not use Python for generating podcasts, so I'm no longer part of an organization with a need for PodGen (compared to when I created it in the first place). And I want to spend time on some personal matters.
I can feel my work capacity getting better again (and the libraries are opened again), though, so I do intend to continue with PodGen. I feel bad about having neglected it and not followed up on contributions, sorry about that!
Moving forward
I wanted to jot down some thoughts on what I'd like to do for a version 2. Some of this may conflict with earlier plans/announcements, but I've learnt a lot more since last time. Version 2 may or may not require wiping the code base clean. I'm publishing these thoughts here so that any contributors can better know what to expect.
For a version 2.0.0 release of PodGen, I want to:
- Separate the data from the RSS generator functionality. You may use a dataclass provided by PodGen, or use any compatible object you provide yourself.
- Remove run-time checks in favour of static type checking with tools like
mypy. - Split the RSS generation functionality into smaller independent entities that only cover one aspect each. For example, an
rss_titlefunction that looks for atitleattribute in the input data, and adds atitletag to the XML, while another one might look at the same attribute and generate anitunes:titletag. They may be tested individually, and you may choose exactly which ones you'd like to apply to a given podcast. This might let you generate tags for your choice of Spotify, Google Podcasts, Apple Podcasts, Podcasting 2.0, and so on. - Co-locate the definition of the data structure and the logic for generating the associated RSS tags, so that you can immediately see the inputs you get in the RSS generator implementation.
- Add utilities and shortcuts with sensible defaults so that existing users of PodGen may migrate without too many changes.
I don't think I want to add any more functionality before moving on to this big refactoring work. I think v2.0.0 will have mostly the same functionality as the current version. Any improvements and additions will come in later minor releases.
I realize that I'm kind of acting like a sole author and not really taking into consideration the desires of the open source community (as far as a community exists), but I'm afraid a proper democracy takes more time and effort than I have to spare 😅 But feel free to fork, as some already have 🙂