Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a new plugin manager from scratch to replace Yapsy and add Python 3.12 support (Fix #3719, Fix #3725) #3728

Merged
merged 15 commits into from
Jan 7, 2024

Conversation

Kwpolska
Copy link
Member

@Kwpolska Kwpolska commented Jan 2, 2024

Pull Request Checklist

  • I’ve read the guidelines for contributing.
  • I updated AUTHORS.txt and CHANGES.txt (if the change is non-trivial) and documentation (if applicable).
  • I tested my changes.

Description

Yapsy does not work under Python 3.12 due to Python 3.12 carelessly removing things from the standard library (fixes #3719).
To keep Nikola working, a new plugin manager was developed from scratch, and it will be used instead of Yapsy.
This also contains a fix for templates not loading if the plugin places the templates in the directory with __init__.py (fixes #3725).

@Kwpolska Kwpolska changed the title Implement a new plugin manager from scratch to replace Yapsy (Fix #3719, Fix #3725) Implement a new plugin manager from scratch to replace Yapsy and add Python 3.12 support (Fix #3719, Fix #3725) Jan 2, 2024
@felixfontein
Copy link
Contributor

Thanks for working on this! I didn't have much time to review this yet, but I did run some first test and noticed that it doesn't load quite a few of my plugins (Plugin ... does not specify Nikola configuration - it will not be loaded). I'll take a closer look at this probably over the weekend.

@Kwpolska
Copy link
Member Author

Kwpolska commented Jan 4, 2024

I forgot to mention that setting NikolaPluginCategory in the .plugin file is now mandatory for all plugins. Wrong values will break in unexpected ways (although it might be worth adding a check). I’ll update CHANGES.txt to mention this.

@felixfontein
Copy link
Contributor

With the updated plugin metadata (see also getnikola/plugins#431) everything seems to work well!

@Kwpolska Kwpolska merged commit f80fc97 into master Jan 7, 2024
12 checks passed
@Kwpolska Kwpolska deleted the new-plugin-manager branch January 7, 2024 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Templates can no longer be found in plugins Support Python 3.12
3 participants