Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add setter-functions for object attributes that consist of `NamespaceSet`s

Open
#65 2 comments 0 reactions 0 assignees View on GitHub

@zrgt is already working on this.

Since Aug 28, 2026.

  • #619 by @zrgt — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
backend

Research direction

Start with the AssetAdministrationShell constructor in basyx/aas/model/aas.py around the ConceptDictionary parameter, then inspect NamespaceSet and ObjectStore handling. Review linked pull request #619 before changing anything. Done means assignments to NamespaceSet-backed attributes no longer leave invalid iterable values that later fail during ObjectStore iteration.

Written by the indexing model from the issue text.

Description

enhancement sdk

When instantiating an AssetAdministrationShell-object, we hand over ConceptDictionarys in any kind of Iterable (See here)

def __init__(self,
                 ...
                 concept_dictionary: Iterable[concept.ConceptDictionary] = (),
                 ...):

However, internally, we create a NamespaceSet containing these ConceptDictionarys in order to be able to resolve them later:

self.concept_dictionary: base.NamespaceSet[concept.ConceptDictionary] = \
            base.NamespaceSet(self, concept_dictionary)

Now, if a user were to only look at the initialization parameters, and wanted to add a ConceptDictionary later, after initalization, they could theoretically assume, they could set it like this:

my_aas.concept_dictionary = [my_concept_dictionary]

This would have terrible results when iterating over ObjectStores containing these objects, since suddenly, we'd get the (not very helpful) error:

AttributeError: 'list' object has no attribute 'update_nss_from' 

This obviously points nowhere in the right direction.

I have the suspicion, that this is not the only time, where such a problem may arise. How can we restrrict the user from making such a mistake in the first place? Should we write getter and setter functions for these kinds of attributes? On the other hand, maybe this is something to be checked by the ObjectStore, when adding an item to it?

Dominant language
Python
Stars
102
Forks
52
Avg merge
20d 17h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from eclipse-basyx/basyx-python-sdk

All issues in eclipse-basyx/basyx-python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.