Code Monkey home page Code Monkey logo

Comments (5)

bittner avatar bittner commented on June 14, 2024

@NickCrews Interested?

from docopt-ng.

bittner avatar bittner commented on June 14, 2024

Any opinion on this, @NickCrews?

Let me know if there's a problem with the idea and if there's anything I can do about it. Thanks!

from docopt-ng.

NickCrews avatar NickCrews commented on June 14, 2024

Hey @bittner, sorry this has taken me so long to respond to this.

It looks like the original docopt-dispatch worked fine as an extension to docopt, so couldn't you port that over? If it can remain an external project and not have to be integrated into the core, that would be much better.

from docopt-ng.

bittner avatar bittner commented on June 14, 2024

It looks like the original docopt-dispatch worked fine as an extension to docopt, so couldn't you port that over?

What exactly do you intend to say? I should fork the project and upload a new one to PyPI?

(If it's that, no. I'm not planning on being the maintainer of yet another new package. I have enough projects running.)

If it can remain an external project and not have to be integrated into the core, that would be much better.

Do you believe this project is still in line with the original project? Will the user code be backwards-compatible? What's your point of retaining a "core"? What is the "core" anyway?

If we can't guarantee backwards-compatibility to a 100% shouldn't we let that idea of the "core" go? We could more pragmatically discuss the integration of new features and enhancements.

I agree that some sort of "compatibility" is helpful, mostly to help users to migrate from using docopt to docopt-ng, but if we're too dogmatic about that we'll end up with yet another dead horse project that needs to be forked.

from docopt-ng.

NickCrews avatar NickCrews commented on June 14, 2024

I should fork the project and upload a new one to PyPI?

Yeah that's what I meant. Adding the code here doesn't make it less work, it just moves it around. If adding it here was less work than having it separate (which sometimes happens if it's necessary to access the internals) then I would be more willing to integrate, but since it so easily works as an extension.... IDK, do you disagree with that analysis?

Re original intent, idk if you saw release 0.9.0 that I just released, but in that I removed the "magic" stuff, in an attempt to re-distill this package back to its core. I was hemming and hawing over this, I almost didn't, but you can see my reasoning in the changelog. I'm genuinely curious, as an active user of docopt what do you think about this?

By core, I mean "function that takes a usage message and sys.argv, and returns a dict". Finding that usage message, and dispatching that dict, are separate tasks. I think that the parsing that docopt does is complex and worthy of being its own package. If it makes sense, I can expose some more internals so others can more easily build extensions, but so far that hasn't come up that I know of.

Are there other incompatibilities that you know of? I didn't think there were that many. Some things, if they don't increase scope too much, I'm willing to look into, such as #47.

I understand your fear of a dead horse. I admit I haven't done a ton of open source maintainership so I'm actively trying to find a balance here. Sorry as I figure this out. I'll open an issue where people can chime in in general so we can get a sense of the direction the community wants.

from docopt-ng.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.