pydsl has a repository like functionality for the main classes (Grammars, Alphabets, Functions). That code lived inside the pydsl.Memory module and provided list, search and retrieval functions.

I've moved this code to a different project: pypository. This project can work for other projects as a repository library. The reason I could split it was because of the code kind of followed a low coupling high cohesion structure.

Part of the repository code still lives in pydsl, specifically the regexp repository and the functions to read files.

Unfortunately although I understand is the best way to reduce the complexity, at the moment I don't see any other way to further split the pydsl project.