#Context directory ignore patterns

1 messages · Page 1 of 1 (latest)

topaz zinc
#

@severe umbra, I'm trying to add these patterns to Python's runtime module:

    // +defaultPath=".."
    // +ignore=["**", "!pyproject.toml", "!uv.lock", "!src/**/*.py", "!src/**/*.typed", "!codegen", "!LICENSE", "!README.md"]
    sdkSourceDir *dagger.Directory,

However, testing it out I get .pyc files in a subdirctory. I tried **/* instead of **. Does it make sense to you why the pyc files are added? All the rest of the files seem to be what I want:

❯ dagger-dev call -m runtime sdk-source-dir glob --pattern='**/*'
LICENSE
README.md
codegen
codegen/pyproject.toml
codegen/src
codegen/src/codegen
codegen/src/codegen/__init__.py
codegen/src/codegen/__main__.py
codegen/src/codegen/__pycache__
codegen/src/codegen/__pycache__/__init__.cpython-312.pyc
codegen/src/codegen/__pycache__/__main__.cpython-312.pyc
codegen/src/codegen/__pycache__/cli.cpython-312.pyc
codegen/src/codegen/__pycache__/generator.cpython-312.pyc
codegen/src/codegen/cli.py
codegen/src/codegen/generator.py
pyproject.toml
src
src/dagger
src/dagger/__init__.py
src/dagger/_config.py
src/dagger/_connection.py
src/dagger/_engine
src/dagger/_engine/__init__.py
src/dagger/_engine/_version.py
src/dagger/_engine/conn.py
src/dagger/_engine/download.py
src/dagger/_engine/progress.py
src/dagger/_engine/session.py
src/dagger/_exceptions.py
src/dagger/_managers.py
src/dagger/client
src/dagger/client/__init__.py
src/dagger/client/_core.py
src/dagger/client/_guards.py
src/dagger/client/_session.py
src/dagger/client/base.py
src/dagger/client/gen.py
src/dagger/log.py
src/dagger/mod
src/dagger/mod/__init__.py
src/dagger/mod/_arguments.py
src/dagger/mod/_converter.py
src/dagger/mod/_exceptions.py
src/dagger/mod/_module.py
src/dagger/mod/_resolver.py
src/dagger/mod/_types.py
src/dagger/mod/_utils.py
src/dagger/mod/cli.py
src/dagger/py.typed
src/dagger/telemetry
src/dagger/telemetry/__init__.py
src/dagger/telemetry/attributes.py
uv.lock
#

Curiously I have a bunch of other pyc files locally, for example in src/dagger/mod, but they don't show up with defaultPath. And if I add **/__pycache__ they still don't go away (in codegen).

#

Oh, I guess it's because of !codegen. So even if I have a **/__pycache__, having !codegen doesn't compound those.

severe umbra
#

Maybe you can try to reverse the order?

#

So you include !codegen but then exclude pycache, it's order sensitive

#

What I would usually do is -> global exclude -> reverse to include some dir -> more exclude specific to these dirs

topaz zinc
# severe umbra So you include !codegen but then exclude pycache, it's order sensitive

Yeah, that actually works!

    // +ignore=["**/*", "!pyproject.toml", "!uv.lock", "!src/**/*.py", "!src/**/*.typed", "!codegen", "!LICENSE", "!README.md", "**/__pycache__"]

I'll stick with this though:

    // +ignore=["**/*", "!pyproject.toml", "!uv.lock", "!src/**/*.py", "!src/**/*.typed", "!codegen/**/*.py", "!codegen/pyproject.toml", "!LICENSE", "!README.md"]

But good to know!