# FSDict
## Design principles
1) Every key of a fsdict must be of type 'str' or 'FunctionType'.
2) A fsdict may not be part of a list.
3) A fsdict may contain other fsdicts.
4) Dictionaries in python are passed by reference; so are fsdicts. By default
an fsdict is always passed by refernece. That is, its values are not copied but
the fsdict is symlinked to the new position.
## Internals
Keys of type 'str' work just as normal dictionary keys. Keys of type
'FunctionType' are used as filters for the keys of an fsdict. So
```python
dictionary[lambda key: "foo" in key]
```
would return a generator which yields the values for keys which contain the
string 'foo'.
Possible value types and how they are handled:
- fsdict - a directory
- 'bytes' type - written to file as is
- any other python object (except for 'bytes') - pickled
Raw data
{
"_id": null,
"home_page": "https://github.com/MNayer/fsdict",
"name": "filesystem-dict",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "dictionary, filesystem",
"author": "MNayer",
"author_email": "marie.nayer@web.de",
"download_url": "https://files.pythonhosted.org/packages/2b/c5/4b2ac8893a728cc7db10236c5f9ae22b26f084337b3305603cd6073f4f3e/filesystem_dict-0.1.16.tar.gz",
"platform": null,
"description": "# FSDict\n\n## Design principles\n1) Every key of a fsdict must be of type 'str' or 'FunctionType'.\n2) A fsdict may not be part of a list.\n3) A fsdict may contain other fsdicts.\n4) Dictionaries in python are passed by reference; so are fsdicts. By default\nan fsdict is always passed by refernece. That is, its values are not copied but\nthe fsdict is symlinked to the new position.\n\n## Internals\nKeys of type 'str' work just as normal dictionary keys. Keys of type\n'FunctionType' are used as filters for the keys of an fsdict. So\n```python\ndictionary[lambda key: \"foo\" in key]\n```\nwould return a generator which yields the values for keys which contain the\nstring 'foo'.\n\nPossible value types and how they are handled:\n- fsdict - a directory\n- 'bytes' type - written to file as is\n- any other python object (except for 'bytes') - pickled\n",
"bugtrack_url": null,
"license": "0BSD",
"summary": "Dictionary like access to the filesystem.",
"version": "0.1.16",
"project_urls": {
"Homepage": "https://github.com/MNayer/fsdict"
},
"split_keywords": [
"dictionary",
" filesystem"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6ab6532688cbba03b4d65f166ba7190373d5612267610dc2221fd90fffdb9499",
"md5": "39a87414448bcb58070133abaa4fa182",
"sha256": "d235d2359dcd5fd9348ee15f2d3d0292ba583a0526d4501d413503a21cc133e8"
},
"downloads": -1,
"filename": "filesystem_dict-0.1.16-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39a87414448bcb58070133abaa4fa182",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4376,
"upload_time": "2025-10-11T14:19:22",
"upload_time_iso_8601": "2025-10-11T14:19:22.388813Z",
"url": "https://files.pythonhosted.org/packages/6a/b6/532688cbba03b4d65f166ba7190373d5612267610dc2221fd90fffdb9499/filesystem_dict-0.1.16-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2bc54b2ac8893a728cc7db10236c5f9ae22b26f084337b3305603cd6073f4f3e",
"md5": "e8299de046dccf48fe5f711f0b0158a3",
"sha256": "cadb3d1700819af48a4189c68d6127a2ca8c059be772de69e1e0d83da2944440"
},
"downloads": -1,
"filename": "filesystem_dict-0.1.16.tar.gz",
"has_sig": false,
"md5_digest": "e8299de046dccf48fe5f711f0b0158a3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3856,
"upload_time": "2025-10-11T14:19:23",
"upload_time_iso_8601": "2025-10-11T14:19:23.215111Z",
"url": "https://files.pythonhosted.org/packages/2b/c5/4b2ac8893a728cc7db10236c5f9ae22b26f084337b3305603cd6073f4f3e/filesystem_dict-0.1.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-11 14:19:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MNayer",
"github_project": "fsdict",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "filesystem-dict"
}