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

Add documentation #109

Open
pombredanne opened this issue Jul 29, 2022 · 5 comments
Open

Add documentation #109

pombredanne opened this issue Jul 29, 2022 · 5 comments

Comments

@pombredanne
Copy link

Adding some documentation would go a very long way to help adopters of this library beyond pip.
For a start I suggest adding some generated API ReST doc using sphinx and published on RTD.
Would you need help for this?

@uranusjr
Copy link
Member

uranusjr commented Aug 1, 2022

It would be best of someone could help set up things for me, of course! Once Sphinx is set up I can configure RTD for this.

@pombredanne
Copy link
Author

@uranusjr ack... I'll try to get down to something ... FWIW this is the tool we are using it in: https://github.com/nexB/python-inspector

@pombredanne
Copy link
Author

@TG1999 ping

@pradyunsg
Copy link
Contributor

pradyunsg commented Dec 21, 2023

I am currently mapping the entire public API, to figure out what the documentation needs to look like. Here's what I have at the moment:

resolvelib

    AbstractProvider
        AbstractProvider.identify()
        AbstractProvider.get_preference()
        AbstractProvider.find_matches()
        AbstractProvider.is_satisfied_by()
        AbstractProvider.get_dependencies()
    AbstractResolver
        AbstractResolver.base_exception
        AbstractResolver.__init__()
        AbstractResolver.resolve()
    BaseReporter
        BaseReporter.starting()
        BaseReporter.starting_round()
        BaseReporter.ending_round()
        BaseReporter.ending()
        BaseReporter.adding_requirement()
        BaseReporter.resolving_conflicts()
        BaseReporter.rejecting_candidate()
        BaseReporter.pinning()
    InconsistentCandidate
        InconsistentCandidate.__init__()
    Resolver
        Resolver.base_exception
        Resolver.resolve()
    RequirementsConflicted
        RequirementsConflicted.__init__()
    ResolutionError
    ResolutionImpossible
        ResolutionImpossible.__init__()
    ResolutionTooDeep
        ResolutionTooDeep.__init__()

resolvelib.reporters

    BaseReporter
        BaseReporter.starting()
        BaseReporter.starting_round()
        BaseReporter.ending_round()
        BaseReporter.ending()
        BaseReporter.adding_requirement()
        BaseReporter.resolving_conflicts()
        BaseReporter.rejecting_candidate()
        BaseReporter.pinning()

resolvelib.resolvers

    Result
        Result.mapping
        Result.graph
        Result.criteria
        Result.__new__()
    ResolverException
    RequirementsConflicted
        RequirementsConflicted.__init__()
    InconsistentCandidate
        InconsistentCandidate.__init__()
    ResolutionError
    ResolutionImpossible
        ResolutionImpossible.__init__()
    ResolutionTooDeep
        ResolutionTooDeep.__init__()
    Resolution
        Resolution.__init__()
    AbstractResolver
        AbstractResolver.base_exception
        AbstractResolver.__init__()
        AbstractResolver.resolve()
    Resolver
        Resolver.base_exception
        Resolver.resolve()

resolvelib.structs

    RequirementInformation
        RequirementInformation.requirement
        RequirementInformation.parent
        RequirementInformation.__new__()
    State
        State.mapping
        State.criteria
        State.backtrack_causes
        State.__new__()
    DirectedGraph
        DirectedGraph.__init__()
        DirectedGraph.copy()
        DirectedGraph.add()
        DirectedGraph.remove()
        DirectedGraph.connect()
    IteratorMapping
        IteratorMapping.__init__()
    IterableView
    build_iter_view()
    Criterion
        Criterion.__init__()

I don't really enjoy that there's a bunch of thing re-exported at multiple levels and things are being imported (and used) from places where they're not really supposed to be public API.

@pradyunsg
Copy link
Contributor

https://readthedocs.org/dashboard/resolvelib/ is a thing, I'll file a PR for adding documentation soon.

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

No branches or pull requests

3 participants