{"id":22200575,"url":"https://github.com/tlambert03/fpbasepy","last_synced_at":"2025-07-27T02:33:24.644Z","repository":{"id":263710808,"uuid":"890404579","full_name":"tlambert03/fpbasepy","owner":"tlambert03","description":"Python wrapper for FPBase.org GraphQL API.","archived":false,"fork":false,"pushed_at":"2024-11-20T19:28:57.000Z","size":52,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-01T07:03:46.791Z","etag":null,"topics":["api-graphql","fluorescent","fpbase","proteins"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlambert03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-18T14:08:29.000Z","updated_at":"2024-11-27T09:25:07.000Z","dependencies_parsed_at":"2024-11-20T03:28:17.124Z","dependency_job_id":null,"html_url":"https://github.com/tlambert03/fpbasepy","commit_stats":null,"previous_names":["tlambert03/fpbasepy"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2Ffpbasepy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2Ffpbasepy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2Ffpbasepy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2Ffpbasepy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlambert03","download_url":"https://codeload.github.com/tlambert03/fpbasepy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227753138,"owners_count":17814619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-graphql","fluorescent","fpbase","proteins"],"created_at":"2024-12-02T15:28:42.216Z","updated_at":"2024-12-02T15:28:43.125Z","avatar_url":"https://github.com/tlambert03.png","language":"Python","readme":"# Python FPbase API\n\n[![License](https://img.shields.io/pypi/l/fpbase.svg?color=green)](https://github.com/tlambert03/fpbasepy/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/fpbase.svg?color=green)](https://pypi.org/project/fpbase)\n[![Python Version](https://img.shields.io/pypi/pyversions/fpbase.svg?color=green)](https://python.org)\n[![CI](https://github.com/tlambert03/fpbasepy/actions/workflows/ci.yml/badge.svg)](https://github.com/tlambert03/fpbasepy/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/tlambert03/fpbasepy/branch/main/graph/badge.svg)](https://codecov.io/gh/tlambert03/fpbasepy)\n\nPython wrapper for FPBase.org GraphQL API.\n\nSee \u003chttps://www.fpbase.org/graphql\u003e for an interactive playground and full documentation on the graphql schema\n(click the little book icon on the top left corner).\n\n## Installation\n\n```sh\npip install fpbase\n```\n\n## API\n\nSee all response model types in `fpbase.models`.\n\n### Functions that return a single object\n\n* `fpbase.get_fluorophore`  (can return either protein or dye)\n* `fpbase.get_protein` (will only return proteins)\n* `fpbase.get_microscope`\n* `fpbase.get_filter`\n* `fpbase.get_light_source`\n* `fpbase.get_camera`\n\n### Functions that return a list of available object keys\n\n* `fpbase.list_fluorophores`  (includes both proteins and dyes)\n* `fpbase.list_proteins`\n* `fpbase.list_dyes`\n* `fpbase.list_microscopes`\n* `fpbase.list_filters`\n* `fpbase.list_light_sources`\n* `fpbase.list_cameras`\n\n### Other\n\n* `fpbase.graphql_query` : Send generic GraphQL query to FPbase (see \u003chttps://www.fpbase.org/graphql\u003e for full documentation on the graphql schema and an interactive playground)\n\n## Example Usage\n\n```python\nimport fpbase\n\nfpbase.get_fluorophore(\"mCherry\")\n# NOTE: you can also use `get_protein()` if you want to ensure that the\n# fluorophore is a protein and the response is an `fpbase.models.Protein`\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003eoutput\u003c/summary\u003e\n\n```python\nProtein(\n    name='mCherry',\n    id='ZERB6',\n    default_state=State(\n        id=336,\n        name='mCherry',\n        exMax=587.0,\n        emMax=610.0,\n        emhex='#f70000',\n        exhex='#ff4600',\n        ext_coeff=72000.0,\n        qy=0.22,\n        spectra=[\n            Spectrum(id=79, subtype='EX', owner_filter=None, owner_camera=None, owner_light=None),\n            Spectrum(id=80, subtype='EM', owner_filter=None, owner_camera=None, owner_light=None),\n            Spectrum(id=158, subtype='A_2P', owner_filter=None, owner_camera=None, owner_light=None)\n        ],\n        lifetime=1.4\n    ),\n    seq='MVSKGEEDNMAIIKEFMRFKVHMEGSVNGHEFEIEGEGEGRPYEGTQTAKLKVTKGGPLPFAWDILSPQFMYGSKAYVKHPADIPDYLKLSFPEGFKWERVMNFEDGGVVTVTQDSSLQDGEFIYKVKLRGTNFPSDGPVMQKKTMGWEASSERMYPEDGALKGEIKQRLKLKDGGHYDAEVKTTYKAKKPVQLPGAYNVNIKLDITSHNEDYTIVEQYERAEGRHSTGGMDELYK',\n    pdb=['2H5Q'],\n    genbank='AAV52164',\n    uniprot='X5DSL3',\n    agg=\u003cOlig.MONOMER: 'M'\u003e,\n    switch_type=\u003cSwitchType.BASIC: 'B'\u003e,\n    primary_reference=Reference(doi='10.1038/nbt1037', url='https://doi.org/10.1038/nbt1037'),\n    references=[\n        Reference(doi='10.1038/nbt1037', url='https://doi.org/10.1038/nbt1037'),\n        Reference(doi='10.1021/bi060773l', url='https://doi.org/10.1021/bi060773l'),\n        Reference(doi='10.1038/nmeth1062', url='https://doi.org/10.1038/nmeth1062'),\n        Reference(doi='10.1038/nmeth.1596', url='https://doi.org/10.1038/nmeth.1596'),\n        Reference(doi='10.1038/nmeth.1955', url='https://doi.org/10.1038/nmeth.1955'),\n        Reference(doi='10.1091/mbc.e16-01-0063', url='https://doi.org/10.1091/mbc.e16-01-0063'),\n        Reference(doi='10.1038/s41598-017-12212-x', url='https://doi.org/10.1038/s41598-017-12212-x'),\n        Reference(doi='10.1038/s41598-018-28858-0', url='https://doi.org/10.1038/s41598-018-28858-0'),\n        Reference(doi='10.1002/pld3.112', url='https://doi.org/10.1002/pld3.112'),\n        Reference(doi='10.1371/journal.pone.0219886', url='https://doi.org/10.1371/journal.pone.0219886'),\n        Reference(doi='10.1073/pnas.2017379117', url='https://doi.org/10.1073/pnas.2017379117'),\n        Reference(doi='10.1038/s41467-023-40647-6', url='https://doi.org/10.1038/s41467-023-40647-6')\n    ]\n)\n```\n\n\u003c/details\u003e\n\n```python\nfpbase.get_fluorophore(\"DAPI\")\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003eoutput\u003c/summary\u003e\n\n```python\nFluorophore(\n    name='DAPI',\n    id='15',\n    default_state=State(\n        id=15,\n        name='DAPI',\n        exMax=359.0,\n        emMax=461.0,\n        emhex='',\n        exhex='',\n        ext_coeff=None,\n        qy=None,\n        spectra=[\n            Spectrum(id=7754, subtype='AB', owner_filter=None, owner_camera=None, owner_light=None),\n            Spectrum(id=222, subtype='EX', owner_filter=None, owner_camera=None, owner_light=None),\n            Spectrum(id=223, subtype='EM', owner_filter=None, owner_camera=None, owner_light=None)\n        ],\n        lifetime=None\n    )\n)\n```\n\n\u003c/details\u003e\n\n```python\n# fetch info for \u003chttps://www.fpbase.org/microscope/i6WL2W/\u003e\nfpbase.get_microscope(\"i6WL2W\")\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003eoutput\u003c/summary\u003e\n\n```python\nMicroscope(\n    id='i6WL2WdgcDMgJYtPrpZcaJ',\n    name='Example Widefield (Sedat)',\n    opticalConfigs=[\n        OpticalConfig(\n            name='Widefield Blue',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=52,\n                        name='Chroma ET395/25x',\n                        spectrum=Spectrum(id=375, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=10,\n                        name='Chroma T425lpxr',\n                        spectrum=Spectrum(id=333, subtype='LP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=47,\n                        name='Chroma ET460/50m',\n                        spectrum=Spectrum(id=370, subtype='BM', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Dual FRET',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=63,\n                        name='Lumencor 470/24x',\n                        spectrum=Spectrum(id=399, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=62,\n                        name='Chroma 59022bs',\n                        spectrum=Spectrum(id=385, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=689,\n                        name='Semrock FF02-641/75',\n                        spectrum=Spectrum(id=1025, subtype='BP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Dual Green',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=63,\n                        name='Lumencor 470/24x',\n                        spectrum=Spectrum(id=399, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=62,\n                        name='Chroma 59022bs',\n                        spectrum=Spectrum(id=385, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=569,\n                        name='Semrock FF03-525/50',\n                        spectrum=Spectrum(id=905, subtype='BP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Dual Red',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=67,\n                        name='Lumencor 575/25x',\n                        spectrum=Spectrum(id=403, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=62,\n                        name='Chroma 59022bs',\n                        spectrum=Spectrum(id=385, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=689,\n                        name='Semrock FF02-641/75',\n                        spectrum=Spectrum(id=1025, subtype='BP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Far-Red',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=445,\n                        name='Chroma ET640/30x',\n                        spectrum=Spectrum(id=781, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=6,\n                        name='Chroma T660lpxr',\n                        spectrum=Spectrum(id=329, subtype='LP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=719,\n                        name='Semrock FF01-698/70',\n                        spectrum=Spectrum(id=1055, subtype='BP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Triple Cyan',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=79,\n                        name='Lumencor 440/20x',\n                        spectrum=Spectrum(id=415, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=60,\n                        name='Chroma 69008bs',\n                        spectrum=Spectrum(id=383, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=46,\n                        name='Chroma ET470/24m',\n                        spectrum=Spectrum(id=369, subtype='BM', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Triple FRET',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=79,\n                        name='Lumencor 440/20x',\n                        spectrum=Spectrum(id=415, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=60,\n                        name='Chroma 69008bs',\n                        spectrum=Spectrum(id=383, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=36,\n                        name='Chroma ET535/30m',\n                        spectrum=Spectrum(id=359, subtype='BM', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Triple Red',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=67,\n                        name='Lumencor 575/25x',\n                        spectrum=Spectrum(id=403, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=60,\n                        name='Chroma 69008bs',\n                        spectrum=Spectrum(id=383, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=689,\n                        name='Semrock FF02-641/75',\n                        spectrum=Spectrum(id=1025, subtype='BP', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        ),\n        OpticalConfig(\n            name='Widefield Triple Yellow',\n            filters=[\n                FilterPlacement(\n                    path='EX',\n                    filter=Filter(\n                        id=41,\n                        name='Chroma ET500/20x',\n                        spectrum=Spectrum(id=364, subtype='BX', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='BS',\n                    filter=Filter(\n                        id=60,\n                        name='Chroma 69008bs',\n                        spectrum=Spectrum(id=383, subtype='BS', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                ),\n                FilterPlacement(\n                    path='EM',\n                    filter=Filter(\n                        id=36,\n                        name='Chroma ET535/30m',\n                        spectrum=Spectrum(id=359, subtype='BM', owner_filter=None, owner_camera=None, owner_light=None),\n                        manufacturer='',\n                        bandcenter=None,\n                        bandwidth=None,\n                        edge=None\n                    ),\n                    reflects=False\n                )\n            ],\n            camera=Camera(\n                id=4,\n                name='Andor Zyla 4.2 PLUS',\n                spectrum=Spectrum(id=1328, subtype='QE', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            light=LightSource(\n                id=9,\n                name='SOLA 395',\n                spectrum=Spectrum(id=394, subtype='PD', owner_filter=None, owner_camera=None, owner_light=None),\n                manufacturer=''\n            ),\n            laser=None\n        )\n    ]\n)\n```\n\n\u003c/details\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlambert03%2Ffpbasepy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlambert03%2Ffpbasepy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlambert03%2Ffpbasepy/lists"}