{"package": "safer", "summary": "\ud83e\uddff A safer writer for files and streams \ud83e\uddff", "pypi_url": "https://pypi.org/project/safer", "piwheels_url": "https://www.piwheels.org/project/safer", "releases": {"5.4.0": {"released": "2026-05-09 13:41:19", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-5.4.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-5.4.0-py3-none-any.whl", "filehash": "e52dbe65eccc70d5f677674592eb435364d312efaf41c11e79e8535ac2367a23", "filesize": 10658, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": []}}}, "5.3.0": {"released": "2026-02-03 13:50:36", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-5.3.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-5.3.0-py3-none-any.whl", "filehash": "2eec91b8172adfae83137960f7b996633fc4e7e604a931d5a4bc688ac70f8611", "filesize": 10435, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": []}}}, "5.2.0": {"released": "2026-02-03 13:32:35", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-5.2.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-5.2.0-py3-none-any.whl", "filehash": "fcbb891770a2c0426053937d84e8f01375d3b7d3c4a1b8b8bed5638ce2c9cd09", "filesize": 10435, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.10", "apt_dependencies": [], "pip_dependencies": []}}}, "5.1.0": {"released": "2024-11-05 13:43:21", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-5.1.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-5.1.0-py3-none-any.whl", "filehash": "d6c687014e70c5324a04d9fb45e4b597929f5293ba38e2c2cb3993e055373e9c", "filesize": 10616, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "5.0.0": {"released": "2024-09-16 10:12:30", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-5.0.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-5.0.0-py3-none-any.whl", "filehash": "34b0d5cd0ba7e4e062666938ed56910a8d54a784ee700f46d407b237034d232a", "filesize": 10593, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "4.12.3": {"released": "2024-01-15 10:21:49", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.12.3-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.12.3-py3-none-any.whl", "filehash": "def5100a9eac29379ef7c8fac5f0232b80fbcb7915e1dcfcd35df1a282696663", "filesize": 10504, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "4.12.2": {"released": "2024-01-04 18:00:55", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.12.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.12.2-py3-none-any.whl", "filehash": "d3d8a598d39cba9d3735d27fed86be7c22eb1ca2e6d804ab142ad40b96760ade", "filesize": 10534, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": ["black"]}}}, "4.12.1": {"released": "2023-12-29 16:24:13", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.12.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.12.1-py3-none-any.whl", "filehash": "88c501763e6a22209b2511ce0dba5d6073d9f456a5f1d4ac34af66ab66680c94", "filesize": 10486, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": ["black"]}}}, "4.12.0": {"released": "2023-12-29 16:08:28", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.12.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.12.0-py3-none-any.whl", "filehash": "cf41468fb4ec70b8b1e140a2f4975782ffb189bf2eb057db7b71cf3a2f52df97", "filesize": 10487, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": ["black"]}}}, "4.11.0": {"released": "2023-12-13 11:51:38", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.11.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.11.0-py3-none-any.whl", "filehash": "990e511fc5736675770f5b4c5f8effa8fc8e04e933e6dad3b3e2d68677e97572", "filesize": 10235, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": ["black"]}}}, "4.10.1": {"released": "2023-10-05 13:10:40", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.10.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.10.1-py3-none-any.whl", "filehash": "db1855396222bd6a3a1d1fd3bba0c923fcfbeefcc224ed95a71e66a1e16eb2f2", "filesize": 10123, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "4.10.0": {"released": "2023-10-05 12:52:06", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.10.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.10.0-py3-none-any.whl", "filehash": "6d6a980c9ff75d91463bfb1bb2aee9be8dffffd61d5f4bee85e3dafff519eb8c", "filesize": 10126, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "4.9.0": {"released": "2023-10-05 12:38:08", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.9.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.9.0-py3-none-any.whl", "filehash": "e4f0f3598c3679300b0b9f939c012ea9dbf0105891d76c32b358d38382eef70e", "filesize": 10115, "builder_abi": "cp311", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.8", "apt_dependencies": [], "pip_dependencies": []}}}, "4.8.0": {"released": "2023-07-09 14:55:32", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.8.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.8.0-py3-none-any.whl", "filehash": "14860aa0a05d32e71cab0548acbdaa367892695db58f10da182a827f7a510d0d", "filesize": 10119, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.7", "apt_dependencies": [], "pip_dependencies": []}}}, "4.7.0": {"released": "2023-05-05 08:41:23", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.7.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.7.0-py3-none-any.whl", "filehash": "b55e9ae8f0323d6b1f8a9687e8d439e88254fb7fd9b589207ea1d51ca5b7027e", "filesize": 10122, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.7,<4.0", "apt_dependencies": [], "pip_dependencies": []}}}, "4.6.1": {"released": "2023-05-02 11:02:45", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.6.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.6.1-py3-none-any.whl", "filehash": "a22d4b20ce7b58402da3ec40d04830de108058f4d7086dfbbb98cd67197a523c", "filesize": 10122, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.7,<4.0", "apt_dependencies": [], "pip_dependencies": []}}}, "4.6.0": {"released": "2023-05-02 10:28:42", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.6.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.6.0-py3-none-any.whl", "filehash": "71e390caab35572bbe44291b582d2324bea8caf4adce8bc13f76a35ac68d27d6", "filesize": 10168, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.7,<4.0", "apt_dependencies": [], "pip_dependencies": []}}}, "4.5.0": {"released": "2023-02-25 15:01:23", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.5.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.5.0-py3-none-any.whl", "filehash": "e88d3b5c03432dff37eed062aa8dc7fe537a433805d38c979d747a8838203c63", "filesize": 9921, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.7,<4.0", "apt_dependencies": [], "pip_dependencies": []}}}, "4.4.1": {"released": "2022-02-17 22:07:52", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.4.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.4.1-py3-none-any.whl", "filehash": "70273fc89dca137bb245368b5f39a80e2d0cb0058075d30478b39a0ff333e716", "filesize": 11934, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": []}}}, "4.4.0": {"released": "2021-01-11 11:16:15", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.4.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.4.0-py3-none-any.whl", "filehash": "6b9d5467e9247fa4cc69b9e579c872263c5ef0f313c5cd7637b7f99a09b6062d", "filesize": 18204, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": []}}}, "4.3.0": {"released": "2020-10-11 09:07:51", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.3.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.3.0-py3-none-any.whl", "filehash": "407ae0c40295687514315e86c1c2606740925603ead4302616a3f1e7d13c0cf5", "filesize": 16297, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": []}}}, "4.2.1": {"released": "2020-10-08 16:28:52", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.2.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.2.1-py3-none-any.whl", "filehash": "cd04fde85184f080c2d1450e42fe2973dcb1d3c86853ce9e0e28c8a4bc71e42e", "filesize": 16014, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": []}}}, "4.2.0": {"released": "2020-10-07 11:03:14", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.2.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.2.0-py3-none-any.whl", "filehash": "187d64e018a57674b6131dfaac0d052060ff120c727d10b24443b2ae3c28d697", "filesize": 16010, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": null, "apt_dependencies": [], "pip_dependencies": []}}}, "4.1.2": {"released": "2020-09-06 17:01:51", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.1.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.1.2-py3-none-any.whl", "filehash": "7cdcdab9c47416a13f278d5178afd73ce72507528f91759c541af1d6ae5ce1d1", "filesize": 15750, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "4.1.1": {"released": "2020-06-19 15:54:37", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.1.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.1.1-py3-none-any.whl", "filehash": "3dddd553480ea69ef41404427ecacc8bcbfc68b23a2724f57c1716b9093e0da5", "filesize": 14938, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "4.1.0": {"released": "2020-06-19 13:29:31", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.1.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.1.0-py3-none-any.whl", "filehash": "f81c844bf71a22f4cb1341eec452a30a6c5dbae5c5e3ce6b466cd11aaa2b4ff1", "filesize": 15796, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "4.0.0": {"released": "2020-05-12 12:00:03", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-4.0.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-4.0.0-py3-none-any.whl", "filehash": "ac28d53068df4f9b83511106878defa2586ccf20177354748e9af1d33aa2a5b7", "filesize": 14932, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "3.1.2": {"released": "2020-05-11 08:20:11", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-3.1.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-3.1.2-py3-none-any.whl", "filehash": "8444cb98e0b395c02e342504bb2d95a877d6967e5fb98540bdbfea4e0db334f3", "filesize": 13932, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "3.1.1": {"released": "2020-05-09 18:38:30", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-3.1.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-3.1.1-py3-none-any.whl", "filehash": "c1b873d1b618ef31b99d42a9135d7c148705014951f59b5be5bbcadf5a8f8351", "filesize": 12456, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "3.0.0": {"released": "2020-04-29 13:52:46", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-3.0.0-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-3.0.0-py3-none-any.whl", "filehash": "538ab1cdc9424b57c160fbc2ce222877782d920de1c6da486117ccb1a34f5651", "filesize": 9051, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "2.0.5": {"released": "2020-04-26 22:22:57", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-2.0.5-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-2.0.5-py3-none-any.whl", "filehash": "7fd03e8d49bfdc99e58c47072c403b968d2d56ee36e969f33ec23c8cbf8629ea", "filesize": 9578, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "2.0.4": {"released": "2020-04-25 10:54:57", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-2.0.4-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-2.0.4-py3-none-any.whl", "filehash": "f73f043f92fd477f91ccd118f0a8e28ec76b95e40d6b5ad17319da51f62f8344", "filesize": 9597, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "2.0.3": {"released": "2020-04-23 20:52:51", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-2.0.3-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-2.0.3-py3-none-any.whl", "filehash": "b66c8f04a8fd18aaecaa3b7f847bb558e30cf42460748dc8c17dcbfa2a858eda", "filesize": 9576, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "2.0.2": {"released": "2020-04-23 14:29:45", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-2.0.2-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-2.0.2-py3-none-any.whl", "filehash": "6983d4a0d4fc2de250f4d24a61ef13066220abafcb6330fef1c5dbf00d64032e", "filesize": 9523, "builder_abi": "cp35m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "2.0.1": {"released": "2020-04-22 17:51:11", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-2.0.1-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-2.0.1-py3-none-any.whl", "filehash": "494837353699c3c0483bffc7faba78c809996e3d5043190a68538e0b0006a858", "filesize": 9765, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.11": {"released": "2020-04-17 20:06:27", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.11-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.11-py3-none-any.whl", "filehash": "9ce7796378171ac04a41f62bf72170dc3bf94aa46f84d1a0ccf0c539d450694a", "filesize": 6086, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.10": {"released": "2020-04-16 18:31:22", "prerelease": false, "yanked": false, "skip_reason": "binary only", "files": {}}, "0.9.8": {"released": "2020-04-11 10:56:34", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.8-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.8-py3-none-any.whl", "filehash": "ca8d72ea7441bbdcb0f1f53a17d3a9a80188704339f6d7337ccdb122337d99e5", "filesize": 5510, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.7": {"released": "2020-04-10 17:10:36", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.7-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.7-py3-none-any.whl", "filehash": "a1c025a8f5ce04caf7df0300361556bb7847156c6099e0f1292249db7b13a6a3", "filesize": 7600, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.6": {"released": "2020-04-10 17:02:07", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.6-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.6-py3-none-any.whl", "filehash": "07b12d1209fedc659d58a13a1d4887355dacbfc3df4992a1ae5ad9b1ba15992c", "filesize": 7600, "builder_abi": "cp37m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.5": {"released": "2020-04-10 11:50:10", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.5-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.5-py3-none-any.whl", "filehash": "86f2e712ff7d35933db07b7151e99e7dea5f9ff38af13d378c0258b64c880603", "filesize": 7065, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}, "0.9.4": {"released": "2020-04-08 14:04:18", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"safer-0.9.4-py3-none-any.whl": {"file_url": "https://archive1.piwheels.org/simple/safer/safer-0.9.4-py3-none-any.whl", "filehash": "2a493e8211be6f0ad15b3964ac67ea8196d3d81537391b62dadbedc2efebb79b", "filesize": 6076, "builder_abi": "cp34m", "file_abi_tag": "none", "platform": "any", "requires_python": "", "apt_dependencies": [], "pip_dependencies": []}}}}}