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

Changes to the User Guide's Data Files page #3335

Merged
merged 19 commits into from
Jun 7, 2022

Commits on May 24, 2022

  1. Changes to the User Guide's Data Files page

      - All code snippets were given for `setup.py`. Have added
        corresponding snippets for `setup.cfg` and `pyproject.toml`.
      - To avoid incentivizing multiple top-level packages, have modified
        all the package trees and code snippets to include only a single
        package `mypkg`. Have added a separate example to illustrate the
        functionality of using the empty string `""` / the asterisk `*` for
        capturing data files from multiple packages. Have also modified the
        `setup.py` code snippets and removed the `find_packages("src")`
        since there is only a single package in each case (except one); have
        opted to explicitly name the package instead.
      - Have added a package tree example for the first `package_data`
        snippet. Have also added a package tree / code snippet example to
        show how `package_data` patterns should include subdirectories,
        separating it from the example showing the empty string `""` /
        asterisk `*` functionality.
      - Tried to have consistent naming for all directories and data files
        used in the package trees and code snippets. All directories have
        been named `mypkg` and data files have been named `data1.txt`,
        `data2.rst` etc.
      - Have reformatted package tree examples. Reformatting has been done
        by replacing the only-indentation based directory structure diagram
        with a line-based tree layout; I think this looks neater.
      - Have added `.. note::` blocks for paragraphs that would be more
        appropriately phased as a Note. Other minor changes to text content
        have been made.
    codeandfire committed May 24, 2022
    Configuration menu
    Copy the full SHA
    3e0f691 View commit details
    Browse the repository at this point in the history
  2. Added news fragment

    codeandfire committed May 24, 2022
    Configuration menu
    Copy the full SHA
    9edfe7b View commit details
    Browse the repository at this point in the history

Commits on May 25, 2022

  1. Elaborated on first example involving include_package_data

    Have tried to make the working of the `include_package_data` option as
    clear as possible.
     - Added a package tree
     - Tried to clearly state that the data files must be either included in
       `MANIFEST.in`, or tracked by a VCS, in order for them to be included
       in the installation of the package, when `include_package_data=True`.
     - Added a `MANIFEST.in` snippet to make things more clear.
    codeandfire committed May 25, 2022
    Configuration menu
    Copy the full SHA
    6c469ee View commit details
    Browse the repository at this point in the history

Commits on May 31, 2022

  1. Small change

    Removed the statement within the parentheses, since the example which
    follows does not illustrate this specific example (of having
    documentation files that you may not want to include in the
    installation). Besides the `exclude_package_data` option covers this
    exact use case in a later example.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    24f4745 View commit details
    Browse the repository at this point in the history
  2. Treating data subdirectories as namespace packages

    Modified code snippets for `package_data` example with `data`
    subdirectory to treat the `data` subdirectory as a namespace package.
    Also modified a paragraph below these snippets.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    97e7993 View commit details
    Browse the repository at this point in the history
  3. Modified code snippets for multiple top-level packages example

    Made them consistent with the snippets given on the Package Discovery
    page.
     - Instead of enumerating a list of all the packages in `packages`,
       using `find_packages` or `find:` instead. The `find_packages` call in
       `setup.py` contains a `where` argument. In `setup.cfg`, included the
       section `options.packages.find` with a `where` option.
     - Instead of supplying the same `package_dir` for each package, using
       an empty string to indicate a `package_dir` for all packages.
     - In `pyproject.toml`, using the `where` option instead of
       `package-dir`.
     - Textual changes.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    f2c5bd3 View commit details
    Browse the repository at this point in the history
  4. Elaborated on example for exclude_package_data

    Tried to make why this option is useful more clear.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    0f0836b View commit details
    Browse the repository at this point in the history
  5. Modified code snippets for exclude_package_data example

    Made them consistent with the snippets given on the Package Discovery
    page. The changes made here are similar to the changes made to the
    previous example.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    20f393b View commit details
    Browse the repository at this point in the history
  6. Added note to package_data option

    In the end of the document, in the summary section, there is a line
    stating that the files matched by `package_data` do not require a
    corresponding `MANIFEST.in` or a revision control system plugin. Have
    included this note higher up in the document because I felt it may be of
    interest to users and they might miss this line so far down the
    document.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    5703545 View commit details
    Browse the repository at this point in the history
  7. Elaborated on usage of importlib.resources

      - Added example package tree
      - Added snippet on how typically the `__file__` attribute would be
        used
      - Added snippet showing usage of `importlib.resources` with the
        `files()` API
      - Added notes on compatibility of this code with different Python
        versions along with references
      - Added snippet to show usage of `importlib_resources` backport
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    b169443 View commit details
    Browse the repository at this point in the history
  8. Removed footnote

    I believe this footnote is outdated and not required in lieu of the
    added notes describing compatibility with different Python versions
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    bb9e256 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f0e4c8f View commit details
    Browse the repository at this point in the history
  10. Removed footnote

    This footnote describes what Setuptools considers as a data file. This
    note is important and may be missed by the reader if it is kept as a
    footnote, hence I have copied its contents up ahead in the document,
    just after the `include_package_data` example.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    9d47a8f View commit details
    Browse the repository at this point in the history
  11. Added sections

      - Added `include_package_data`, `package_data` and
        `exclude_package_data` sections to make clear the three options
        provided by Setuptools to manage data files.
      - Added a separate section illustrating the use of a `data`
        subdirectory, after these three sections.
      - Placed the summary of the three options under a Summary section.
      - Changed the levels of the last two sections to match the level of
        the five sections added.
      - Small changes. Changed the wording where appropriate to suit the new
        flow. Changed a paragraph on path separators in glob patterns to a
        Note.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    6c3c884 View commit details
    Browse the repository at this point in the history
  12. Added an include_package_data snippet to the subdirectory example

    Just to make it clear that we can use either one of `package_data` or
    `include_package_data` and not just the former.
    codeandfire committed May 31, 2022
    Configuration menu
    Copy the full SHA
    3854a8d View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2022

  1. Configuration menu
    Copy the full SHA
    dfdc6d5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    10cbf95 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    463b340 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2 from abravalheri/data-files-fix

    Data files fix
    codeandfire authored Jun 7, 2022
    Configuration menu
    Copy the full SHA
    4de04f4 View commit details
    Browse the repository at this point in the history