lukasschwab / arxiv.py

Python wrapper for the arXiv API
MIT License
1.07k stars 120 forks source link

Simplify package structure: move `arxiv` module to root #73

Closed lukasschwab closed 1 year ago

lukasschwab commented 3 years ago

Description

Rearranges package files and updates package scripts accordingly without changing package behavior.

Concern: we may want to add submodules to this package, e.g. to assist in query string construction. We shouldn't merge this change until we're confident it doesn't preclude or complicate adding submodules.

Breaking changes

List any changes that break the API usage supported on master.

Relevant issues

List GitHub issues relevant to this change.

Discussed on #68: https://github.com/lukasschwab/arxiv.py/pull/68#issuecomment-855306345

Checklist

lukasschwab commented 3 years ago

It may be possible to go back to a package pattern where arxiv is still available via import arxiv (i.e. without breaking the usage forced by this change). Start by reverting this change, then introducing submodules. One could write

from arxiv import arxiv, query_helpers

directly accessing the modules arxiv.arxiv and arxiv.query_helpers, or just

import arxiv

using arxiv/__init__.py's import, which makes the API available without specifying the submodule. I suppose the real problem this PR tries to solve is that the package structure is unwieldy for a package containing a single module––we get usable, but unnecessarily verbose, documentation.

lukasschwab commented 3 years ago

This PR may be closed in favor of #84, which introduces submodules––

lukasschwab commented 1 year ago

Closing: stale.