{"id":23331069,"url":"https://github.com/capsize-games/nullscream","last_synced_at":"2026-02-17T03:08:59.621Z","repository":{"id":235613332,"uuid":"790750896","full_name":"Capsize-Games/nullscream","owner":"Capsize-Games","description":"Override modules with noop representations","archived":false,"fork":false,"pushed_at":"2025-04-14T12:12:18.000Z","size":1232,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-11T13:32:06.035Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Capsize-Games.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,"zenodo":null}},"created_at":"2024-04-23T13:11:46.000Z","updated_at":"2025-04-14T12:09:53.000Z","dependencies_parsed_at":"2024-04-24T01:02:20.970Z","dependency_job_id":"f91e44a7-2b5f-47d7-8d4c-ba16da025de2","html_url":"https://github.com/Capsize-Games/nullscream","commit_stats":null,"previous_names":["capsize-games/nullscream"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Capsize-Games/nullscream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capsize-Games%2Fnullscream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capsize-Games%2Fnullscream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capsize-Games%2Fnullscream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capsize-Games%2Fnullscream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Capsize-Games","download_url":"https://codeload.github.com/Capsize-Games/nullscream/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Capsize-Games%2Fnullscream/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007339,"owners_count":26084282,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-12-20T22:30:28.472Z","updated_at":"2025-10-11T13:32:32.783Z","avatar_url":"https://github.com/Capsize-Games.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NULLSCREAM\n\n---\n\n![img.png](img.png)\n\n[![Upload Python Package](https://github.com/Capsize-Games/nullscream/actions/workflows/python-publish.yml/badge.svg)](https://github.com/Capsize-Games/nullscream/actions/workflows/python-publish.yml)\n\n---\n\n`nullscream` is a simple library that allows you to\nimport noop functions and classes that you can use as drop in replacements for functions you wish to override.\n\nThis allows anything on the blacklist to be importable, but not executable.\n\n---\n\n## Installation\n\n```bash\npip install nullscream\n```\n\n## Usage\n\nImport the `install_nullscream` function the top of your main entry file (e.g. `main.py`), import `nullscream` before \nimporting any other libraries.\n\n\n```python\nimport nullscream\n\nnullscream_blacklist = [\"requests\"]\n\nnullscream.activate(\n    blacklist=nullscream_blacklist,\n)\n```\n\nNow when you import requests, you will get a noop version of the requests library.\n\n```python\nimport requests\n\nprint(requests.__doc__)\n\n# Output:\n# This is a noop stand-in module.\n\nprint(requests.foobar())\n\n# Output:\n# MagicType instance\n```\n\nYou can uninstall the noop module by calling `uninstall_nullscream`\n\n```python\nimport nullscream\n\nnullscream.uninstall(blacklist=[\"requests\"])\n```\n\nNow when you import requests, you will get the original requests library.\n\n```python\nimport requests\n\nprint(requests.__doc__)\n\n# Output: Original requests library docstring\n```\n\n---\n\n## Testing\n\n```bash\npython -m unittest discover -s tests\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapsize-games%2Fnullscream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapsize-games%2Fnullscream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapsize-games%2Fnullscream/lists"}