draggit-sdk 1.0.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.
@@ -0,0 +1,38 @@
1
+ DRAGGIT SDK - PROPRIETARY LICENSE
2
+
3
+ Copyright (c) 2024 Draggit. All rights reserved.
4
+
5
+ TERMS AND CONDITIONS
6
+
7
+ 1. OWNERSHIP
8
+ This software is the proprietary property of Draggit. Ownership, title, and all
9
+ rights remain exclusively with Draggit.
10
+
11
+ 2. RESTRICTED USE
12
+ You may use this software only:
13
+ - To consume the Draggit API service
14
+ - As provided by Draggit without modification
15
+ - In accordance with Draggit Terms of Service
16
+
17
+ 3. RESTRICTIONS
18
+ You may NOT:
19
+ - Reverse engineer, decompile, or disassemble this software
20
+ - Modify, alter, or create derivative works
21
+ - Remove or obscure any proprietary notices
22
+ - Use this software for any purpose other than consuming Draggit services
23
+ - Distribute this software without Draggit's written permission
24
+ - Attempt to access, use, or modify the source code
25
+
26
+ 4. INTELLECTUAL PROPERTY
27
+ All intellectual property rights including patents, copyrights, trade secrets,
28
+ and trademarks are owned by Draggit.
29
+
30
+ 5. DISCLAIMER
31
+ This software is provided "AS IS" without warranty of any kind, express or
32
+ implied.
33
+
34
+ 6. LIMITATION OF LIABILITY
35
+ In no event shall Draggit be liable for any indirect, incidental, special,
36
+ consequential, or punitive damages.
37
+
38
+ For commercial use or licensing inquiries, contact: license@draggit.com
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ include LICENSE
3
+ include requirements.txt
4
+ recursive-include draggit-sdk *.py
@@ -0,0 +1,182 @@
1
+ Metadata-Version: 2.4
2
+ Name: draggit-sdk
3
+ Version: 1.0.0
4
+ Summary: Professional PDF watermarking service SDK
5
+ Home-page: https://github.com/draggit/draggit-sdk
6
+ Author: Draggit Team
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.8
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Topic :: Office/Business
19
+ Requires-Python: >=3.8
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: requests>=2.28.0
23
+ Dynamic: author
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: home-page
28
+ Dynamic: license-file
29
+ Dynamic: requires-dist
30
+ Dynamic: requires-python
31
+ Dynamic: summary
32
+
33
+ # Draggit SDK
34
+
35
+ Professional PDF watermarking service for Python applications.
36
+
37
+ ## Features
38
+
39
+ ✅ **Easy Integration** - Simple Python API
40
+ ✅ **Flexible Watermarking** - Text + Logo positioning
41
+ ✅ **License Tracking** - Built-in usage monitoring
42
+ ✅ **Secure** - API key authentication
43
+ ✅ **Black Box** - No code modification possible
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install draggit-sdk
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```python
54
+ from draggit import DraggitClient
55
+
56
+ # Initialize client
57
+ client = DraggitClient(api_key="your-api-key")
58
+
59
+ # Sign PDF
60
+ result = client.sign_and_save(
61
+ input_pdf="document.pdf",
62
+ output_pdf="document_signed.pdf"
63
+ )
64
+
65
+ print(f"Signed! Used {result['signatures_used']} signatures")
66
+ ```
67
+
68
+ ## Usage
69
+
70
+ ### Basic Signing
71
+
72
+ ```python
73
+ client = DraggitClient(api_key="demo-key")
74
+
75
+ # Sign and save
76
+ result = client.sign_and_save("input.pdf", "output.pdf")
77
+ # Returns: {
78
+ # 'status': 'success',
79
+ # 'message': 'PDF signed successfully with Draggit watermarks',
80
+ # 'tier': 'free',
81
+ # 'signatures_used': 1,
82
+ # 'output_file': 'output.pdf',
83
+ # 'file_size': 28136
84
+ # }
85
+ ```
86
+
87
+ ### Check License
88
+
89
+ ```python
90
+ # Validate API key
91
+ is_valid, info = client.validate_license()
92
+
93
+ if is_valid:
94
+ print(f"Valid! Remaining: {info['signatures_remaining']}")
95
+ else:
96
+ print("Invalid or expired API key")
97
+
98
+ # Get detailed info
99
+ license_info = client.get_license_info()
100
+ print(f"Tier: {license_info['license_type']}")
101
+ print(f"Used: {license_info['signatures_used']}/{license_info['signatures_limit']}")
102
+ ```
103
+
104
+ ### Configuration
105
+
106
+ ```python
107
+ from draggit import WatermarkConfig
108
+
109
+ # Get current config
110
+ config = client.get_config()
111
+
112
+ # Modify config
113
+ config.logo_x = 100
114
+ config.logo_y = 150
115
+ config.logo_opacity = 0.9
116
+
117
+ # Save config
118
+ client.update_config(config)
119
+
120
+ # Use presets
121
+ config = WatermarkConfig.preset_subtle()
122
+ config = WatermarkConfig.preset_default()
123
+ config = WatermarkConfig.preset_prominent()
124
+ ```
125
+
126
+ ## API Keys
127
+
128
+ - `demo-key` - Free tier (100 signatures)
129
+ - `pro-key` - Pro tier (1,000 signatures)
130
+ - Contact support for custom keys
131
+
132
+ ## Configuration Options
133
+
134
+ | Option | Type | Default | Range |
135
+ |--------|------|---------|-------|
136
+ | text_opacity | float | 0.08 | 0-1 |
137
+ | text_rotation | float | -25 | -45 to 45 |
138
+ | text_scale | float | 0.35 | 0-1 |
139
+ | logo_opacity | float | 0.85 | 0-1 |
140
+ | logo_width | int | 100 | 50-200 |
141
+ | logo_height | int | 70 | 40-150 |
142
+ | logo_x | int | 50 | 0+ |
143
+ | logo_y | int | 80 | 0+ |
144
+
145
+ ## Error Handling
146
+
147
+ ```python
148
+ from draggit import DraggitClient
149
+
150
+ try:
151
+ client = DraggitClient(api_key="invalid-key")
152
+ except ConnectionError as e:
153
+ print(f"Connection error: {e}")
154
+
155
+ try:
156
+ result = client.sign_and_save("nonexistent.pdf", "output.pdf")
157
+ except FileNotFoundError as e:
158
+ print(f"File error: {e}")
159
+ except ValueError as e:
160
+ print(f"API error: {e}")
161
+ ```
162
+
163
+ ## What This SDK Does
164
+
165
+ ✅ Adds watermarks to PDFs
166
+ ✅ Flexible positioning and opacity control
167
+ ✅ License-based usage tracking
168
+ ✅ Simple Python API
169
+
170
+ ## What This SDK Does NOT Do
171
+
172
+ ❌ Digital signature with certificates (client's responsibility)
173
+ ❌ Code modification (black box - no source code access)
174
+ ❌ Decompilation possible
175
+
176
+ ## Support
177
+
178
+ For support, contact: support@draggit.com
179
+
180
+ ## License
181
+
182
+ Proprietary - See LICENSE file
@@ -0,0 +1,150 @@
1
+ # Draggit SDK
2
+
3
+ Professional PDF watermarking service for Python applications.
4
+
5
+ ## Features
6
+
7
+ ✅ **Easy Integration** - Simple Python API
8
+ ✅ **Flexible Watermarking** - Text + Logo positioning
9
+ ✅ **License Tracking** - Built-in usage monitoring
10
+ ✅ **Secure** - API key authentication
11
+ ✅ **Black Box** - No code modification possible
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ pip install draggit-sdk
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ```python
22
+ from draggit import DraggitClient
23
+
24
+ # Initialize client
25
+ client = DraggitClient(api_key="your-api-key")
26
+
27
+ # Sign PDF
28
+ result = client.sign_and_save(
29
+ input_pdf="document.pdf",
30
+ output_pdf="document_signed.pdf"
31
+ )
32
+
33
+ print(f"Signed! Used {result['signatures_used']} signatures")
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ ### Basic Signing
39
+
40
+ ```python
41
+ client = DraggitClient(api_key="demo-key")
42
+
43
+ # Sign and save
44
+ result = client.sign_and_save("input.pdf", "output.pdf")
45
+ # Returns: {
46
+ # 'status': 'success',
47
+ # 'message': 'PDF signed successfully with Draggit watermarks',
48
+ # 'tier': 'free',
49
+ # 'signatures_used': 1,
50
+ # 'output_file': 'output.pdf',
51
+ # 'file_size': 28136
52
+ # }
53
+ ```
54
+
55
+ ### Check License
56
+
57
+ ```python
58
+ # Validate API key
59
+ is_valid, info = client.validate_license()
60
+
61
+ if is_valid:
62
+ print(f"Valid! Remaining: {info['signatures_remaining']}")
63
+ else:
64
+ print("Invalid or expired API key")
65
+
66
+ # Get detailed info
67
+ license_info = client.get_license_info()
68
+ print(f"Tier: {license_info['license_type']}")
69
+ print(f"Used: {license_info['signatures_used']}/{license_info['signatures_limit']}")
70
+ ```
71
+
72
+ ### Configuration
73
+
74
+ ```python
75
+ from draggit import WatermarkConfig
76
+
77
+ # Get current config
78
+ config = client.get_config()
79
+
80
+ # Modify config
81
+ config.logo_x = 100
82
+ config.logo_y = 150
83
+ config.logo_opacity = 0.9
84
+
85
+ # Save config
86
+ client.update_config(config)
87
+
88
+ # Use presets
89
+ config = WatermarkConfig.preset_subtle()
90
+ config = WatermarkConfig.preset_default()
91
+ config = WatermarkConfig.preset_prominent()
92
+ ```
93
+
94
+ ## API Keys
95
+
96
+ - `demo-key` - Free tier (100 signatures)
97
+ - `pro-key` - Pro tier (1,000 signatures)
98
+ - Contact support for custom keys
99
+
100
+ ## Configuration Options
101
+
102
+ | Option | Type | Default | Range |
103
+ |--------|------|---------|-------|
104
+ | text_opacity | float | 0.08 | 0-1 |
105
+ | text_rotation | float | -25 | -45 to 45 |
106
+ | text_scale | float | 0.35 | 0-1 |
107
+ | logo_opacity | float | 0.85 | 0-1 |
108
+ | logo_width | int | 100 | 50-200 |
109
+ | logo_height | int | 70 | 40-150 |
110
+ | logo_x | int | 50 | 0+ |
111
+ | logo_y | int | 80 | 0+ |
112
+
113
+ ## Error Handling
114
+
115
+ ```python
116
+ from draggit import DraggitClient
117
+
118
+ try:
119
+ client = DraggitClient(api_key="invalid-key")
120
+ except ConnectionError as e:
121
+ print(f"Connection error: {e}")
122
+
123
+ try:
124
+ result = client.sign_and_save("nonexistent.pdf", "output.pdf")
125
+ except FileNotFoundError as e:
126
+ print(f"File error: {e}")
127
+ except ValueError as e:
128
+ print(f"API error: {e}")
129
+ ```
130
+
131
+ ## What This SDK Does
132
+
133
+ ✅ Adds watermarks to PDFs
134
+ ✅ Flexible positioning and opacity control
135
+ ✅ License-based usage tracking
136
+ ✅ Simple Python API
137
+
138
+ ## What This SDK Does NOT Do
139
+
140
+ ❌ Digital signature with certificates (client's responsibility)
141
+ ❌ Code modification (black box - no source code access)
142
+ ❌ Decompilation possible
143
+
144
+ ## Support
145
+
146
+ For support, contact: support@draggit.com
147
+
148
+ ## License
149
+
150
+ Proprietary - See LICENSE file
@@ -0,0 +1,182 @@
1
+ Metadata-Version: 2.4
2
+ Name: draggit-sdk
3
+ Version: 1.0.0
4
+ Summary: Professional PDF watermarking service SDK
5
+ Home-page: https://github.com/draggit/draggit-sdk
6
+ Author: Draggit Team
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.8
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Topic :: Office/Business
19
+ Requires-Python: >=3.8
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: requests>=2.28.0
23
+ Dynamic: author
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: home-page
28
+ Dynamic: license-file
29
+ Dynamic: requires-dist
30
+ Dynamic: requires-python
31
+ Dynamic: summary
32
+
33
+ # Draggit SDK
34
+
35
+ Professional PDF watermarking service for Python applications.
36
+
37
+ ## Features
38
+
39
+ ✅ **Easy Integration** - Simple Python API
40
+ ✅ **Flexible Watermarking** - Text + Logo positioning
41
+ ✅ **License Tracking** - Built-in usage monitoring
42
+ ✅ **Secure** - API key authentication
43
+ ✅ **Black Box** - No code modification possible
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install draggit-sdk
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```python
54
+ from draggit import DraggitClient
55
+
56
+ # Initialize client
57
+ client = DraggitClient(api_key="your-api-key")
58
+
59
+ # Sign PDF
60
+ result = client.sign_and_save(
61
+ input_pdf="document.pdf",
62
+ output_pdf="document_signed.pdf"
63
+ )
64
+
65
+ print(f"Signed! Used {result['signatures_used']} signatures")
66
+ ```
67
+
68
+ ## Usage
69
+
70
+ ### Basic Signing
71
+
72
+ ```python
73
+ client = DraggitClient(api_key="demo-key")
74
+
75
+ # Sign and save
76
+ result = client.sign_and_save("input.pdf", "output.pdf")
77
+ # Returns: {
78
+ # 'status': 'success',
79
+ # 'message': 'PDF signed successfully with Draggit watermarks',
80
+ # 'tier': 'free',
81
+ # 'signatures_used': 1,
82
+ # 'output_file': 'output.pdf',
83
+ # 'file_size': 28136
84
+ # }
85
+ ```
86
+
87
+ ### Check License
88
+
89
+ ```python
90
+ # Validate API key
91
+ is_valid, info = client.validate_license()
92
+
93
+ if is_valid:
94
+ print(f"Valid! Remaining: {info['signatures_remaining']}")
95
+ else:
96
+ print("Invalid or expired API key")
97
+
98
+ # Get detailed info
99
+ license_info = client.get_license_info()
100
+ print(f"Tier: {license_info['license_type']}")
101
+ print(f"Used: {license_info['signatures_used']}/{license_info['signatures_limit']}")
102
+ ```
103
+
104
+ ### Configuration
105
+
106
+ ```python
107
+ from draggit import WatermarkConfig
108
+
109
+ # Get current config
110
+ config = client.get_config()
111
+
112
+ # Modify config
113
+ config.logo_x = 100
114
+ config.logo_y = 150
115
+ config.logo_opacity = 0.9
116
+
117
+ # Save config
118
+ client.update_config(config)
119
+
120
+ # Use presets
121
+ config = WatermarkConfig.preset_subtle()
122
+ config = WatermarkConfig.preset_default()
123
+ config = WatermarkConfig.preset_prominent()
124
+ ```
125
+
126
+ ## API Keys
127
+
128
+ - `demo-key` - Free tier (100 signatures)
129
+ - `pro-key` - Pro tier (1,000 signatures)
130
+ - Contact support for custom keys
131
+
132
+ ## Configuration Options
133
+
134
+ | Option | Type | Default | Range |
135
+ |--------|------|---------|-------|
136
+ | text_opacity | float | 0.08 | 0-1 |
137
+ | text_rotation | float | -25 | -45 to 45 |
138
+ | text_scale | float | 0.35 | 0-1 |
139
+ | logo_opacity | float | 0.85 | 0-1 |
140
+ | logo_width | int | 100 | 50-200 |
141
+ | logo_height | int | 70 | 40-150 |
142
+ | logo_x | int | 50 | 0+ |
143
+ | logo_y | int | 80 | 0+ |
144
+
145
+ ## Error Handling
146
+
147
+ ```python
148
+ from draggit import DraggitClient
149
+
150
+ try:
151
+ client = DraggitClient(api_key="invalid-key")
152
+ except ConnectionError as e:
153
+ print(f"Connection error: {e}")
154
+
155
+ try:
156
+ result = client.sign_and_save("nonexistent.pdf", "output.pdf")
157
+ except FileNotFoundError as e:
158
+ print(f"File error: {e}")
159
+ except ValueError as e:
160
+ print(f"API error: {e}")
161
+ ```
162
+
163
+ ## What This SDK Does
164
+
165
+ ✅ Adds watermarks to PDFs
166
+ ✅ Flexible positioning and opacity control
167
+ ✅ License-based usage tracking
168
+ ✅ Simple Python API
169
+
170
+ ## What This SDK Does NOT Do
171
+
172
+ ❌ Digital signature with certificates (client's responsibility)
173
+ ❌ Code modification (black box - no source code access)
174
+ ❌ Decompilation possible
175
+
176
+ ## Support
177
+
178
+ For support, contact: support@draggit.com
179
+
180
+ ## License
181
+
182
+ Proprietary - See LICENSE file
@@ -0,0 +1,10 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ setup.py
5
+ draggit_sdk.egg-info/PKG-INFO
6
+ draggit_sdk.egg-info/SOURCES.txt
7
+ draggit_sdk.egg-info/dependency_links.txt
8
+ draggit_sdk.egg-info/entry_points.txt
9
+ draggit_sdk.egg-info/requires.txt
10
+ draggit_sdk.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ draggit = draggit.cli:main
@@ -0,0 +1 @@
1
+ requests>=2.28.0
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,38 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ with open("README.md", "r", encoding="utf-8") as fh:
4
+ long_description = fh.read()
5
+
6
+ setup(
7
+ name="draggit-sdk",
8
+ version="1.0.0",
9
+ author="Draggit Team",
10
+ description="Professional PDF watermarking service SDK",
11
+ long_description=long_description,
12
+ long_description_content_type="text/markdown",
13
+ url="https://github.com/draggit/draggit-sdk",
14
+ packages=find_packages(),
15
+ classifiers=[
16
+ "Programming Language :: Python :: 3",
17
+ "Programming Language :: Python :: 3.8",
18
+ "Programming Language :: Python :: 3.9",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "License :: OSI Approved :: MIT License",
23
+ "Operating System :: OS Independent",
24
+ "Development Status :: 5 - Production/Stable",
25
+ "Intended Audience :: Developers",
26
+ "Topic :: Software Development :: Libraries :: Python Modules",
27
+ "Topic :: Office/Business",
28
+ ],
29
+ python_requires=">=3.8",
30
+ install_requires=[
31
+ "requests>=2.28.0",
32
+ ],
33
+ entry_points={
34
+ "console_scripts": [
35
+ "draggit=draggit.cli:main",
36
+ ],
37
+ },
38
+ )