Skip to content
This repository was archived by the owner on Jun 25, 2026. It is now read-only.
This repository was archived by the owner on Jun 25, 2026. It is now read-only.

Project Status: UNMAINTAINED #201

Open

Description

@francium

Hi everyone,

I've been meaning to write this for a long time. As can be noticed from the queue of PRs and unanswered issues, this project is no longer receiving the attention and maintenance it needs. As a volunteer project, it needs people who are willing to commit time to make sure the things are running smoothly. For a long time, I've been the primary maintainer. But now I'd be lying to myself and everyone else if I said I'm will be able to continue maintaining this project and give it the time and attention it needs.

I believe the best thing now is:

  • make this announcement to let users of this library know it will no longer be maintained, no more releases will be made, no more fixes or features
  • anyone interested in doing so is welcome to fork this project and re-release it under the terms of the project's license, and maintain it under new management

My rationale for not welcoming new maintainers for this project is because (1) I do not have the capacity to oversee a transition, (2) I do not know of anyone I trust enough that I can hand this project off to immediately, (3) handing the project to an unknown party is not in the best interest of current users of this library.

cc @dbrgn @wbolster if by any chance either of you are interested in taking up maintenance of this project please let me know

Activity

  1. pinned this issue on Dec 23, 2024
  2. wbolster commented on Dec 23, 2024

    @wbolster
    Member

    unfortunately i feel the same, and will not be stepping up my efforts.

    i have come to the conclusion that this style of programming simply does not lend itself well to the python ecosystem, both for technical and cultural reasons, and it looks like it will remain an ‘odd’ niche.

    thanks for your time and effort over the years, @francium! ❤️🤗

  3. dbrgn commented on Dec 27, 2024

    @dbrgn
    Member

    Hi folks. Same thing from me, I feel like algebraic data types only have limited practical use in Python compared to languages with first-class support (like Rust or Haskell).

    thanks for your time and effort over the years, @francium! ❤️🤗

    I second that! 🙂

  4. delulu3i4 commented on Jan 3, 2025

    @delulu3i4

    Thanks for work have done in this and pushing boundaries. I be curious what have learned in this experience especially where something like this doesn't seem to work in python paradigm, on surface definitely feels nice, but assuming some what found is even if python culturally adopted such paradigms there is some limitations living in it, that be curious to hear on?

  5. montasaurus commented on Jan 8, 2025

    @montasaurus

    Thanks so much for all your work on this library @francium !

    I've been working off a fork of it for my own projects. It's not production tested yet, so use at your own risk. I might package and publish it if there's demand, but you can install it directly from the repo for now.

    Features

    Other

  6. indigoviolet commented on Jan 17, 2025

    @indigoviolet

    @dbrgn @wbolster It would be useful to hear more about your thoughts on the technical limitations of this style of programming in Python.

  7. notypecheck commented on Feb 13, 2025

    @notypecheck
    Contributor

    unfortunately i feel the same, and will not be stepping up my efforts.

    i have come to the conclusion that this style of programming simply does not lend itself well to the python ecosystem, both for technical and cultural reasons, and it looks like it will remain an ‘odd’ niche.

    thanks for your time and effort over the years, @francium! ❤️🤗

    Using errors as types approach was very useful to me when writing any business logic, since if you just throw exceptions any typing information tends to be lost. Only way to document what exceptions could be raised from a function is by using docstrings, which don't provide any typing.
    Currently the main problem with this approach is just verbosity due to type checkers not recognizing a lot of things (e.g. using match with Err(SomeType) and Ok(SomeOtherType) won't narrow down their contents inside of the case block), hopefully some of the pains could be solved with https://peps.python.org/pep-0638/ if it would be accepted and type checkers would support it too.

  8. TamerSoup625 commented on Dec 19, 2025

    @TamerSoup625

    Thank you so much, @francium ! Your package really helped me get going the development of my guards module. It basically implements an alternative to Python's try/except/else statements, effectively using Result-like values only when you want to handle exceptions. Without taking your source code as a base, I feel like it would've taken a lot more time just to get the typing to work 😅.

    Thanks again for all your efforts ❤️. Maybe this new library will suit better the Python ecosystem.

  9. wbolster commented on Jun 25, 2026

    @wbolster
    Member

    yo @francium @dbrgn what do you think of archiving this github repo? (essentially that makes it read-only.) i think it's a good idea. if you agree, lmk and i'll put a note in the readme prior to archiving it.

  10. francium commented on Jun 25, 2026

    @francium
    MemberAuthor

    @wbolster I think that's a good idea at this point. If you don't mind. Thank you for the help! :)

    The other repo would be good to archive too, maybe.

  11. changed the title [-]Project Status[/-] [+]Project Status: UNMAINTAINED[/+] on Jun 25, 2026
  12. wbolster commented on Jun 25, 2026

    @wbolster
    Member

    cool, i've just added a note to the readme, and closed all open issues and pull requests with a comment pointing to this ticket.

    thanks for the ride, everyone! 🤗🤓

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions