Comments (6)
Hi, thanks for the report, and the test!
What I remember about nested namespace packages, from when I added/fixed support for namespace packages, is that they are a pain to handle correctly 😅
But I understand the use-case of being able to add modules to sub(namespace)-packages (by the way, could you show me your use case? it's always easier to think about a problem with some examples 🙂), so Griffe should definitely support nested namespace packages.
from griffe.
This happens with this library https://github.com/cloudblue/connect-markdown-renderer.
With this change:
diff --git a/src/griffe/mixins.py b/src/griffe/mixins.py
index 6fc0c25..227c716 100644
--- a/src/griffe/mixins.py
+++ b/src/griffe/mixins.py
@@ -85,7 +85,10 @@ class SetMembersMixin(DelMembersMixin):
else:
value.parent = self
else:
- self.members[parts[0]][parts[1:]] = value # type: ignore[attr-defined]
+ try:
+ self.members[parts[0]][parts[1:]] = value # type: ignore[attr-defined]
+ except KeyError:
+ self.members[parts[0]] = value
it works but I'm not sure this is the right fix.
from griffe.
I've pushed a fix on master, could you try it and tell me if it works?
from griffe.
Many many thanks @pawamoy ! It works like a charm. Do you plan to release a this patch today ?
from griffe.
Great!
Yup, will release now 🙂
from griffe.
Done, v0.24.1 published.
from griffe.
Related Issues (20)
- Get class parameters from parent's __init__ HOT 2
- RecursionError with Griffe, Material HOT 1
- API checks: double pass, static+dynamic analysis
- Numpy docstring for fixed set of values
- Skip Alias Resolution HOT 7
- numpydoc sections not represented as its own block, if first in docstring HOT 3
- fuzzing: Failing cases found with pysource-codegen HOT 6
- API checks: Don't report type-guarded objects HOT 4
- API checks: Improve reporting for attribute who lost their value
- Module overrides member HOT 3
- feature: Expressions modernization HOT 1
- not all members have is_package/is_module HOT 3
- class attribute has label 'instance-attribute' HOT 3
- feature: Support meson-python's editable installs
- bug: property and cached_property of dataclasses are class parameters HOT 1
- bug: A dataclass field with init=False should not be a parameter HOT 3
- bug: parameter kinds for dataclasses should match the non-dataclass equivalents
- bug: MkDocs !!! and ??? admonitions can no longer be parsed HOT 3
- bug: Regular classes that inherit dataclass do not get dataclass parameters HOT 1
- bug: A class that derives from a dataclass should be labelled a dataclass HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from griffe.