Skip to content

package imports not properly defined #98

@orbeckst

Description

@orbeckst

Expected behavior

The package files clearly define what to include in the Python package. Data files are clearly marked as such.

I would expect that tests are included in the published package so that users can directly run them with pytest --pyargs imdclient.tests.

Actual behavior

Packaging (for the cf recipe in conda-forge/imdclient-feedstock#2 ) show the following warnings indicating that

  • imdclient.data
  • imdclient.data.gromacs.md
  • imdclient.data.lammps.md
  • imdclient.data.namd.md
  • imdclient.tests
  • imdclient.tests.docker_testing
  • imdclient.tests.hpc_testing.gromacs
  • imdclient.tests.hpc_testing.lammps
  • imdclient.tests.hpc_testing.namd

See eg

  /home/conda/feedstock_root/build_artifacts/imdclient_1752853932590/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'imdclient.data' is absent from the `packages` configuration.
  !!

          ********************************************************************************
  /home/conda/feedstock_root/build_artifacts/imdclient_1752853932590/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.10/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'imdclient.tests.hpc_testing.namd' is absent from the `packages` configuration.
  !!

          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'imdclient.tests.hpc_testing.namd' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.

          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'imdclient.tests.hpc_testing.namd' is explicitly added
          to the `packages` configuration field.

          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

          If you don't want 'imdclient.tests.hpc_testing.namd' to be distributed and are
          already explicitly excluding 'imdclient.tests.hpc_testing.namd' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.

          You can read more about "package data files" on setuptools documentation page:

          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************

  !!

See https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=1291366&view=logs&j=7b6f2c87-f3a7-5133-8d84-7c03a75d9dfc&t=9eb77fd2-8ddd-5444-8fc0-71cb28dcb736

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions