pyveil 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyveil-0.1.0/CLAUDE.md ADDED
@@ -0,0 +1,67 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ Veil is a Python library for masking sensitive data (PII) - emails, phones, names, and more. The library is in early development stage.
8
+
9
+ ## Project Setup
10
+
11
+ This project uses Python 3.11+ with a virtual environment:
12
+ - Virtual environment: `.venv/` (already created)
13
+ - License: MIT
14
+ - Python environment management appears to use standard venv
15
+
16
+ ## Expected Architecture
17
+
18
+ Since this is a PII masking library, the typical structure should include:
19
+ - Core masking functions for different data types (email, phone, names, etc.)
20
+ - Pattern detection/recognition for identifying PII in text
21
+ - Configurable masking strategies (partial masking, full masking, tokenization)
22
+ - Support for different locales/regions (phone formats, name patterns vary by country)
23
+
24
+ ## Development Guidelines
25
+
26
+ ### PII Masking Considerations
27
+ - Ensure masking is irreversible unless explicitly designed for reversible tokenization
28
+ - Support both in-place masking and returning masked copies
29
+ - Consider performance for large-scale text processing
30
+ - Handle edge cases (malformed emails, international phone formats, etc.)
31
+ - Provide clear documentation about what constitutes "masked" vs "anonymized" data
32
+
33
+ ### Testing Requirements
34
+ - Test with diverse PII formats across different locales
35
+ - Include negative tests (text without PII should remain unchanged)
36
+ - Test performance with large inputs
37
+ - Verify no PII leakage in edge cases
38
+
39
+ ### Security Considerations
40
+ - Never log or expose unmasked PII during processing
41
+ - Ensure no PII appears in error messages or stack traces
42
+ - If implementing reversible masking, secure the key management
43
+
44
+ ### Project Structure
45
+
46
+ veil/
47
+ ├── veil/ # 메인 패키지 (내용 비움)
48
+ │ ├── __init__.py # __version__ = "0.1.0"만 유지
49
+ │ ├── masker.py # docstring만 유지
50
+ │ ├── patterns.py # docstring만 유지
51
+ │ └── utils.py # docstring만 유지
52
+ ├── tests/ # 테스트 (내용 비움)
53
+ │ ├── __init__.py
54
+ │ ├── test_masker.py
55
+ │ ├── test_patterns.py
56
+ │ └── test_utils.py
57
+ ├── examples/ # 예제 (내용 비움)
58
+ │ └── basic_usage.py
59
+ ├── docs/
60
+ │ └── README.md
61
+ ├── pyproject.toml # PyPI 설정 유지
62
+ ├── setup.py # 호환성 파일 유지
63
+ ├── MANIFEST.in # 배포 설정 유지
64
+ ├── README.md # 프로젝트 README 유지
65
+ ├── LICENSE # MIT 라이선스 유지
66
+ ├── CLAUDE.md # AI 가이드 유지
67
+ └── .gitignore # Git 설정 유지
pyveil-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Hyeon Sang Jeon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,19 @@
1
+ # Include documentation
2
+ include README.md
3
+ include LICENSE
4
+ include CLAUDE.md
5
+
6
+ # Include examples
7
+ recursive-include examples *.py
8
+
9
+ # Include tests
10
+ recursive-include tests *.py
11
+
12
+ # Include docs
13
+ recursive-include docs *.md
14
+
15
+ # Exclude unnecessary files
16
+ global-exclude __pycache__
17
+ global-exclude *.py[cod]
18
+ global-exclude .DS_Store
19
+ global-exclude *.so
pyveil-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyveil
3
+ Version: 0.1.0
4
+ Summary: A Python library for masking sensitive data (PII) - emails, phones, names, and more
5
+ Author-email: Hyeon Sang Jeon <your.email@example.com>
6
+ Maintainer-email: Hyeon Sang Jeon <your.email@example.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/yourusername/pyveil
9
+ Project-URL: Documentation, https://github.com/yourusername/pyveil#readme
10
+ Project-URL: Repository, https://github.com/yourusername/pyveil
11
+ Project-URL: Issues, https://github.com/yourusername/pyveil/issues
12
+ Project-URL: Changelog, https://github.com/yourusername/pyveil/releases
13
+ Keywords: pii,privacy,masking,data-protection,security,anonymization,sensitive-data,gdpr,compliance
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Security
25
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
+ Classifier: Topic :: Text Processing
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
33
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
34
+ Requires-Dist: black>=23.0.0; extra == "dev"
35
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
36
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
37
+ Provides-Extra: test
38
+ Requires-Dist: pytest>=7.0.0; extra == "test"
39
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
40
+ Dynamic: license-file
41
+
42
+ # pyveil 🎭
43
+
44
+ A Python library for masking sensitive data (PII) - emails, phones, names, and more
45
+
46
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
47
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
48
+
49
+ ## Overview
50
+
51
+ pyveil helps protect sensitive information by detecting and masking various types of personally identifiable information (PII) in text data. Whether you're handling logs, user data, or any text containing sensitive information, PyVeil provides flexible and easy-to-use tools to protect privacy.
52
+
53
+ ## Features
pyveil-0.1.0/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # pyveil 🎭
2
+
3
+ A Python library for masking sensitive data (PII) - emails, phones, names, and more
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
7
+
8
+ ## Overview
9
+
10
+ pyveil helps protect sensitive information by detecting and masking various types of personally identifiable information (PII) in text data. Whether you're handling logs, user data, or any text containing sensitive information, PyVeil provides flexible and easy-to-use tools to protect privacy.
11
+
12
+ ## Features
@@ -0,0 +1,13 @@
1
+ # pyveil Documentation
2
+
3
+ ## Overview
4
+
5
+ pyveil is a Python library designed to mask sensitive personally identifiable information (PII) in text data. It helps protect privacy by detecting and masking various types of sensitive information including emails, phone numbers, credit cards, SSNs, IP addresses, and names.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pip install veil
11
+ ```
12
+
13
+ ## Quick Start
@@ -0,0 +1 @@
1
+ """Basic usage examples for the veil library."""
@@ -0,0 +1,159 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pyveil"
7
+ version = "0.1.0"
8
+ description = "A Python library for masking sensitive data (PII) - emails, phones, names, and more"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = {text = "MIT"}
12
+ authors = [
13
+ {name = "Hyeon Sang Jeon", email = "your.email@example.com"}
14
+ ]
15
+ maintainers = [
16
+ {name = "Hyeon Sang Jeon", email = "your.email@example.com"}
17
+ ]
18
+ keywords = [
19
+ "pii",
20
+ "privacy",
21
+ "masking",
22
+ "data-protection",
23
+ "security",
24
+ "anonymization",
25
+ "sensitive-data",
26
+ "gdpr",
27
+ "compliance"
28
+ ]
29
+ classifiers = [
30
+ "Development Status :: 3 - Alpha",
31
+ "Intended Audience :: Developers",
32
+ "License :: OSI Approved :: MIT License",
33
+ "Operating System :: OS Independent",
34
+ "Programming Language :: Python :: 3",
35
+ "Programming Language :: Python :: 3.8",
36
+ "Programming Language :: Python :: 3.9",
37
+ "Programming Language :: Python :: 3.10",
38
+ "Programming Language :: Python :: 3.11",
39
+ "Programming Language :: Python :: 3.12",
40
+ "Topic :: Security",
41
+ "Topic :: Software Development :: Libraries :: Python Modules",
42
+ "Topic :: Text Processing",
43
+ "Typing :: Typed",
44
+ ]
45
+ dependencies = []
46
+
47
+ [project.optional-dependencies]
48
+ dev = [
49
+ "pytest>=7.0.0",
50
+ "pytest-cov>=4.0.0",
51
+ "black>=23.0.0",
52
+ "ruff>=0.1.0",
53
+ "mypy>=1.0.0",
54
+ ]
55
+ test = [
56
+ "pytest>=7.0.0",
57
+ "pytest-cov>=4.0.0",
58
+ ]
59
+
60
+ [project.urls]
61
+ Homepage = "https://github.com/yourusername/pyveil"
62
+ Documentation = "https://github.com/yourusername/pyveil#readme"
63
+ Repository = "https://github.com/yourusername/pyveil"
64
+ Issues = "https://github.com/yourusername/pyveil/issues"
65
+ Changelog = "https://github.com/yourusername/pyveil/releases"
66
+
67
+ [tool.setuptools]
68
+ packages = ["pyveil"]
69
+
70
+ [tool.setuptools.package-data]
71
+ pyveil = ["py.typed"]
72
+
73
+ [tool.pytest.ini_options]
74
+ testpaths = ["tests"]
75
+ python_files = ["test_*.py"]
76
+ python_classes = ["Test*"]
77
+ python_functions = ["test_*"]
78
+ addopts = [
79
+ "--verbose",
80
+ "--cov=pyveil",
81
+ "--cov-report=term-missing",
82
+ "--cov-report=html",
83
+ ]
84
+
85
+ [tool.black]
86
+ line-length = 100
87
+ target-version = ["py38", "py39", "py310", "py311", "py312"]
88
+ include = '\.pyi?$'
89
+ extend-exclude = '''
90
+ /(
91
+ # directories
92
+ \.eggs
93
+ | \.git
94
+ | \.hg
95
+ | \.mypy_cache
96
+ | \.tox
97
+ | \.venv
98
+ | build
99
+ | dist
100
+ )/
101
+ '''
102
+
103
+ [tool.ruff]
104
+ line-length = 100
105
+ target-version = "py38"
106
+ select = [
107
+ "E", # pycodestyle errors
108
+ "W", # pycodestyle warnings
109
+ "F", # pyflakes
110
+ "I", # isort
111
+ "B", # flake8-bugbear
112
+ "C4", # flake8-comprehensions
113
+ "UP", # pyupgrade
114
+ ]
115
+ ignore = [
116
+ "E501", # line too long, handled by black
117
+ "B008", # do not perform function calls in argument defaults
118
+ "C901", # too complex
119
+ ]
120
+
121
+ [tool.ruff.per-file-ignores]
122
+ "__init__.py" = ["F401"]
123
+
124
+ [tool.mypy]
125
+ python_version = "3.8"
126
+ warn_return_any = true
127
+ warn_unused_configs = true
128
+ disallow_untyped_defs = true
129
+ disallow_incomplete_defs = true
130
+ check_untyped_defs = true
131
+ no_implicit_optional = true
132
+ warn_redundant_casts = true
133
+ warn_unused_ignores = true
134
+ warn_no_return = true
135
+ follow_imports = "normal"
136
+ strict_optional = true
137
+
138
+ [[tool.mypy.overrides]]
139
+ module = "tests.*"
140
+ disallow_untyped_defs = false
141
+
142
+ [tool.coverage.run]
143
+ source = ["pyveil"]
144
+ omit = [
145
+ "*/tests/*",
146
+ "*/test_*.py",
147
+ ]
148
+
149
+ [tool.coverage.report]
150
+ exclude_lines = [
151
+ "pragma: no cover",
152
+ "def __repr__",
153
+ "raise AssertionError",
154
+ "raise NotImplementedError",
155
+ "if __name__ == .__main__.:",
156
+ "if TYPE_CHECKING:",
157
+ "class .*\\bProtocol\\):",
158
+ "@(abc\\.)?abstractmethod",
159
+ ]
@@ -0,0 +1,5 @@
1
+ """Veil - A Python library for masking sensitive data (PII)"""
2
+
3
+ __version__ = "0.1.0"
4
+ __author__ = "Hyeon Sang Jeon"
5
+ __license__ = "MIT"
@@ -0,0 +1 @@
1
+ """Core masking functionality for PII data."""
@@ -0,0 +1 @@
1
+ """Pattern definitions for detecting various types of PII in text."""
@@ -0,0 +1 @@
1
+ """Utility functions for the veil package."""
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyveil
3
+ Version: 0.1.0
4
+ Summary: A Python library for masking sensitive data (PII) - emails, phones, names, and more
5
+ Author-email: Hyeon Sang Jeon <your.email@example.com>
6
+ Maintainer-email: Hyeon Sang Jeon <your.email@example.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/yourusername/pyveil
9
+ Project-URL: Documentation, https://github.com/yourusername/pyveil#readme
10
+ Project-URL: Repository, https://github.com/yourusername/pyveil
11
+ Project-URL: Issues, https://github.com/yourusername/pyveil/issues
12
+ Project-URL: Changelog, https://github.com/yourusername/pyveil/releases
13
+ Keywords: pii,privacy,masking,data-protection,security,anonymization,sensitive-data,gdpr,compliance
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Security
25
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
+ Classifier: Topic :: Text Processing
27
+ Classifier: Typing :: Typed
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
33
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
34
+ Requires-Dist: black>=23.0.0; extra == "dev"
35
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
36
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
37
+ Provides-Extra: test
38
+ Requires-Dist: pytest>=7.0.0; extra == "test"
39
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
40
+ Dynamic: license-file
41
+
42
+ # pyveil 🎭
43
+
44
+ A Python library for masking sensitive data (PII) - emails, phones, names, and more
45
+
46
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
47
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
48
+
49
+ ## Overview
50
+
51
+ pyveil helps protect sensitive information by detecting and masking various types of personally identifiable information (PII) in text data. Whether you're handling logs, user data, or any text containing sensitive information, PyVeil provides flexible and easy-to-use tools to protect privacy.
52
+
53
+ ## Features
@@ -0,0 +1,21 @@
1
+ CLAUDE.md
2
+ LICENSE
3
+ MANIFEST.in
4
+ README.md
5
+ pyproject.toml
6
+ setup.py
7
+ docs/README.md
8
+ examples/basic_usage.py
9
+ pyveil/__init__.py
10
+ pyveil/masker.py
11
+ pyveil/patterns.py
12
+ pyveil/utils.py
13
+ pyveil.egg-info/PKG-INFO
14
+ pyveil.egg-info/SOURCES.txt
15
+ pyveil.egg-info/dependency_links.txt
16
+ pyveil.egg-info/requires.txt
17
+ pyveil.egg-info/top_level.txt
18
+ tests/__init__.py
19
+ tests/test_masker.py
20
+ tests/test_patterns.py
21
+ tests/test_utils.py
@@ -0,0 +1,11 @@
1
+
2
+ [dev]
3
+ pytest>=7.0.0
4
+ pytest-cov>=4.0.0
5
+ black>=23.0.0
6
+ ruff>=0.1.0
7
+ mypy>=1.0.0
8
+
9
+ [test]
10
+ pytest>=7.0.0
11
+ pytest-cov>=4.0.0
@@ -0,0 +1 @@
1
+ pyveil
pyveil-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
pyveil-0.1.0/setup.py ADDED
@@ -0,0 +1,12 @@
1
+ """
2
+ Setup script for backward compatibility.
3
+
4
+ For modern installation, use pyproject.toml.
5
+ This file is kept for compatibility with older tools.
6
+ """
7
+
8
+ from setuptools import setup
9
+
10
+ # All configuration is in pyproject.toml
11
+ # This file is here for compatibility with tools that don't support PEP 621
12
+ setup()
@@ -0,0 +1 @@
1
+ """Tests for the veil package."""
@@ -0,0 +1 @@
1
+ """Tests for the masker module."""
@@ -0,0 +1 @@
1
+ """Tests for the patterns module."""
@@ -0,0 +1 @@
1
+ """Tests for the utils module."""