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

re-add missing opentelemetry.util module mapping #20804

Merged
merged 2 commits into from
Apr 18, 2024

Conversation

cburroughs
Copy link
Contributor

In #20551 the opentelemetry module mappings were expanded -- yeah! -- but in the transition of opentelemetry-api from a wildcard to explicit list, this sub-module was missed.

See https://github.com/open-telemetry/opentelemetry-python/tree/v1.24.0/opentelemetry-api/src/opentelemetry

In pantsbuild#20551 the opentelemetry module mappings were expanded -- yeah! --
but in the transition of `opentelemetry-api` from a wildcard to
explicit list, this sub-module was missed.

See https://github.com/open-telemetry/opentelemetry-python/tree/v1.24.0/opentelemetry-api/src/opentelemetry
@cburroughs cburroughs self-assigned this Apr 17, 2024
@cburroughs cburroughs added category:bugfix Bug fixes for released features backend: Python Python backend-related issues labels Apr 17, 2024
@cburroughs cburroughs added this to the 2.20.x milestone Apr 17, 2024
Copy link
Contributor

@huonw huonw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you and oops! 4th try lucky? (#20705, #20749 as well)

To really confirm in addition to their source code, I've downloaded https://files.pythonhosted.org/packages/81/30/603d64b33b1203638cf4fae49095bc9851fe09c6ad6d88dd10d7e6a9f999/opentelemetry_api-1.24.0-py3-none-any.whl and this is the contents according to unzip -l:

Archive:  opentelemetry_api-1.24.0-py3-none-any.whl
  Length      Date    Time    Name
---------  ---------- -----   ----
     2367  02-02-2020 00:00   opentelemetry/environment_variables.py
        0  02-02-2020 00:00   opentelemetry/py.typed
      608  02-02-2020 00:00   opentelemetry/version.py
     1906  02-02-2020 00:00   opentelemetry/_logs/__init__.py
     9388  02-02-2020 00:00   opentelemetry/_logs/_internal/__init__.py
     3374  02-02-2020 00:00   opentelemetry/_logs/severity/__init__.py
     6808  02-02-2020 00:00   opentelemetry/attributes/__init__.py
     3875  02-02-2020 00:00   opentelemetry/baggage/__init__.py
     4677  02-02-2020 00:00   opentelemetry/baggage/propagation/__init__.py
     6255  02-02-2020 00:00   opentelemetry/context/__init__.py
     1632  02-02-2020 00:00   opentelemetry/context/context.py
     1785  02-02-2020 00:00   opentelemetry/context/contextvars_context.py
     3694  02-02-2020 00:00   opentelemetry/metrics/__init__.py
    29042  02-02-2020 00:00   opentelemetry/metrics/_internal/__init__.py
    12647  02-02-2020 00:00   opentelemetry/metrics/_internal/instrument.py
     1600  02-02-2020 00:00   opentelemetry/metrics/_internal/observation.py
     5666  02-02-2020 00:00   opentelemetry/propagate/__init__.py
     3255  02-02-2020 00:00   opentelemetry/propagators/composite.py
     6642  02-02-2020 00:00   opentelemetry/propagators/textmap.py
    21977  02-02-2020 00:00   opentelemetry/trace/__init__.py
    19510  02-02-2020 00:00   opentelemetry/trace/span.py
     2539  02-02-2020 00:00   opentelemetry/trace/status.py
     1684  02-02-2020 00:00   opentelemetry/trace/propagation/__init__.py
     4178  02-02-2020 00:00   opentelemetry/trace/propagation/tracecontext.py
     3120  02-02-2020 00:00   opentelemetry/util/_decorator.py
     1135  02-02-2020 00:00   opentelemetry/util/_importlib_metadata.py
     1440  02-02-2020 00:00   opentelemetry/util/_once.py
     1695  02-02-2020 00:00   opentelemetry/util/_providers.py
     3057  02-02-2020 00:00   opentelemetry/util/re.py
     1167  02-02-2020 00:00   opentelemetry/util/types.py
     1328  02-02-2020 00:00   opentelemetry_api-1.24.0.dist-info/METADATA
       87  02-02-2020 00:00   opentelemetry_api-1.24.0.dist-info/WHEEL
      573  02-02-2020 00:00   opentelemetry_api-1.24.0.dist-info/entry_points.txt
    11350  02-02-2020 00:00   opentelemetry_api-1.24.0.dist-info/licenses/LICENSE
     3220  02-02-2020 00:00   opentelemetry_api-1.24.0.dist-info/RECORD
---------                     -------
   183281                     35 files
module pants includes
opentelemetry.environment_variables
opentelemetry.version
opentelemetry._logs
opentelemetry.attributes
opentelemetry.baggage
opentelemetry.context
opentelemetry.metrics
opentelemetry.propagate
opentelemetry.propagators
opentelemetry.trace
opentelemetry.util ✅ in this PR

And a code test:

cd $(mktemp -d)

cat > pants.toml <<EOF
[GLOBAL]
pants_version = "2.20.0"
backend_packages = ["pants.backend.python"]
[python]
interpreter_constraints = ["CPython==3.10.*"]
EOF

cat > BUILD <<EOF
python_requirement(name="opentelementry-api", requirements=["opentelemetry-api"])
python_source(name="src", source="example.py")
EOF

cat > example.py <<EOF
import opentelemetry.environment_variables
import opentelemetry.version
import opentelemetry._logs
import opentelemetry.attributes
import opentelemetry.baggage
import opentelemetry.context
import opentelemetry.metrics
import opentelemetry.propagate
import opentelemetry.propagators
import opentelemetry.trace
import opentelemetry.util
EOF

# Dep warning, but runs fine
pants run example.py
...
09:47:35.63 [WARN] Pants cannot infer owners for the following imports in the target //:src:

  * opentelemetry.attributes (line: 4)
  * opentelemetry.util (line: 11)
  * opentelemetry.version (line: 2)

If you do not expect an import to be inferrable, add `# pants: no-infer-dep` to the import line. Otherwise, see https://www.pantsbuild.org/2.20/docs/using-pants/troubleshooting-common-issues#import-errors-and-missing-dependencies for common problems.
...

So, could you add opentelemetry.attributes and opentelemetry.version as well?

@kaos
Copy link
Member

kaos commented Apr 18, 2024

Thanks.

I really think we should do something more about these module mappings.. so we can get rid of manually providing this data.

@kaos kaos merged commit 1d47326 into pantsbuild:main Apr 18, 2024
24 checks passed
WorkerPants pushed a commit that referenced this pull request Apr 18, 2024
In #20551 the opentelemetry module mappings were expanded -- yeah! --
but in the transition of `opentelemetry-api` from a wildcard to explicit
list, this sub-module was missed.

See
https://github.com/open-telemetry/opentelemetry-python/tree/v1.24.0/opentelemetry-api/src/opentelemetry
@WorkerPants
Copy link
Member

I tried to automatically cherry-pick this change back to each relevant milestone, so that it is available in those older releases of Pants.

✔️ 2.20.x

Successfully opened #20810.


Thanks again for your contributions!

🤖 Beep Boop here's my run link

kaos pushed a commit that referenced this pull request Apr 18, 2024
…) (#20810)

In #20551 the opentelemetry module mappings were expanded -- yeah! --
but in the transition of `opentelemetry-api` from a wildcard to explicit
list, this sub-module was missed.

See
https://github.com/open-telemetry/opentelemetry-python/tree/v1.24.0/opentelemetry-api/src/opentelemetry

Co-authored-by: cburroughs <[email protected]>
@huonw huonw mentioned this pull request May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend: Python Python backend-related issues category:bugfix Bug fixes for released features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants