hirundo 0.1.21__py3-none-any.whl → 0.2.3.post1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hirundo
3
- Version: 0.1.21
3
+ Version: 0.2.3.post1
4
4
  Summary: This package is used to interface with Hirundo's platform. It provides a simple API to optimize your ML datasets.
5
5
  Author-email: Hirundo <dev@hirundo.io>
6
6
  License: MIT License
@@ -18,7 +18,7 @@ Keywords: dataset,machine learning,data science,data engineering
18
18
  Classifier: License :: OSI Approved :: MIT License
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
- Requires-Python: >=3.9
21
+ Requires-Python: >=3.10
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: pyyaml>=6.0.1
@@ -34,8 +34,9 @@ Requires-Dist: httpx-sse>=0.4.0
34
34
  Requires-Dist: tqdm>=4.66.5
35
35
  Requires-Dist: h11>=0.16.0
36
36
  Requires-Dist: requests>=2.32.4
37
- Requires-Dist: urllib3>=2.5.0
37
+ Requires-Dist: urllib3>=2.6.3
38
38
  Requires-Dist: setuptools>=78.1.1
39
+ Requires-Dist: docutils<0.22.0
39
40
  Provides-Extra: dev
40
41
  Requires-Dist: pyyaml>=6.0.1; extra == "dev"
41
42
  Requires-Dist: types-PyYAML>=6.0.12; extra == "dev"
@@ -50,15 +51,18 @@ Requires-Dist: stamina>=24.2.0; extra == "dev"
50
51
  Requires-Dist: httpx-sse>=0.4.0; extra == "dev"
51
52
  Requires-Dist: pytest>=8.2.0; extra == "dev"
52
53
  Requires-Dist: pytest-asyncio>=0.23.6; extra == "dev"
53
- Requires-Dist: uv>=0.8.6; extra == "dev"
54
+ Requires-Dist: uv>=0.9.6; extra == "dev"
54
55
  Requires-Dist: pre-commit>=3.7.1; extra == "dev"
56
+ Requires-Dist: basedpyright==1.37.1; extra == "dev"
55
57
  Requires-Dist: virtualenv>=20.6.6; extra == "dev"
58
+ Requires-Dist: authlib>=1.6.6; extra == "dev"
56
59
  Requires-Dist: ruff>=0.12.0; extra == "dev"
57
- Requires-Dist: bumpver; extra == "dev"
60
+ Requires-Dist: bumpver>=2025.1131; extra == "dev"
58
61
  Requires-Dist: platformdirs>=4.3.6; extra == "dev"
59
- Requires-Dist: safety>=3.2.13; extra == "dev"
60
62
  Requires-Dist: cryptography>=44.0.1; extra == "dev"
61
63
  Requires-Dist: jinja2>=3.1.6; extra == "dev"
64
+ Requires-Dist: filelock>=3.20.1; extra == "dev"
65
+ Requires-Dist: marshmallow>=3.26.2; extra == "dev"
62
66
  Provides-Extra: docs
63
67
  Requires-Dist: sphinx>=7.4.7; extra == "docs"
64
68
  Requires-Dist: sphinx-autobuild>=2024.9.3; extra == "docs"
@@ -67,13 +71,17 @@ Requires-Dist: autodoc_pydantic>=2.2.0; extra == "docs"
67
71
  Requires-Dist: furo; extra == "docs"
68
72
  Requires-Dist: sphinx-multiversion; extra == "docs"
69
73
  Requires-Dist: esbonio; extra == "docs"
70
- Requires-Dist: starlette>=0.47.2; extra == "docs"
74
+ Requires-Dist: starlette>=0.49.1; extra == "docs"
71
75
  Requires-Dist: markupsafe>=3.0.2; extra == "docs"
72
76
  Requires-Dist: jinja2>=3.1.6; extra == "docs"
73
77
  Provides-Extra: pandas
74
78
  Requires-Dist: pandas>=2.2.3; extra == "pandas"
75
79
  Provides-Extra: polars
76
80
  Requires-Dist: polars>=1.0.0; extra == "polars"
81
+ Provides-Extra: transformers
82
+ Requires-Dist: transformers>=4.57.3; extra == "transformers"
83
+ Requires-Dist: peft>=0.18.1; extra == "transformers"
84
+ Requires-Dist: accelerate>=1.12.0; extra == "transformers"
77
85
  Dynamic: license-file
78
86
 
79
87
  # Hirundo
@@ -145,7 +153,31 @@ You can install the codebase with a simple `pip install hirundo` to install the
145
153
 
146
154
  ## Usage
147
155
 
148
- Classification example:
156
+ ### Unlearning LLM behavior
157
+
158
+ Make sure to install the `transformers` extra, i.e. `pip install hirundo[transformers]` or `uv pip install hirundo[transformers]` if you have `uv` installed which is much faster than `pip`.
159
+
160
+ ```python
161
+ llm = LlmModel(
162
+ model_name="Nemotron-Flash-1B",
163
+ model_source=HuggingFaceTransformersModel(
164
+ model_name="nvidia/Nemotron-Flash-1B",
165
+ ),
166
+ )
167
+ llm_id = llm.create()
168
+ run_info = BiasRunInfo(
169
+ bias_type=BiasType.ALL,
170
+ )
171
+ run_id = LlmUnlearningRun.launch(
172
+ llm_id,
173
+ run_info,
174
+ )
175
+ new_adapter = llm.get_hf_pipeline_for_run(run_id)
176
+ ```
177
+
178
+ ### Dataset QA
179
+
180
+ #### Classification example:
149
181
 
150
182
  ```python
151
183
  from hirundo import (
@@ -182,7 +214,7 @@ results = test_dataset.check_run()
182
214
  print(results)
183
215
  ```
184
216
 
185
- Object detection example:
217
+ #### Object detection example:
186
218
 
187
219
  ```python
188
220
  from hirundo import (
@@ -223,7 +255,7 @@ results = test_dataset.check_run()
223
255
  print(results)
224
256
  ```
225
257
 
226
- Note: Currently we only support the main CPython release 3.9, 3.10, 3.11, 3.12 & 3.13. PyPy support may be introduced in the future.
258
+ Note: Currently we only support the main CPython release 3.10, 3.11, 3.12 & 3.13. PyPy support may be introduced in the future.
227
259
 
228
260
  ## Further documentation
229
261
 
@@ -0,0 +1,28 @@
1
+ hirundo/__init__.py,sha256=24ZHcfCcVCcCWj-nOCjIwY44fFzLgt0B9vMx99CMxKE,1694
2
+ hirundo/__main__.py,sha256=wcCrL4PjG51r5wVKqJhcoJPTLfHW0wNbD31DrUN0MWI,28
3
+ hirundo/_constraints.py,sha256=aaNb3vUQIS4JT9skLtSocgJpBb4HfteykQhMMp3qTrk,5963
4
+ hirundo/_dataframe.py,sha256=sXEEbCNcLi83wyU9ii884YikCzfASo_3nnrDxhuCv7U,758
5
+ hirundo/_env.py,sha256=efX2sjvYlHkFr2Lcstelei67YSTFpVGT0l08ZsfiMuE,622
6
+ hirundo/_headers.py,sha256=Cwha8gXEQNXL2lc9Lb1klLotkMLD82XOpAdX33TLVj8,521
7
+ hirundo/_http.py,sha256=0kfoznumU3jinHhJIpB6qn5Mt4a3kso59GNXVbpWH7M,2267
8
+ hirundo/_iter_sse_retrying.py,sha256=39GUf7y0o_h_BBJbfjEMZGZV85pZrDzgDyiSU4do9LI,4709
9
+ hirundo/_llm_pipeline.py,sha256=vHTpzrzmM-lHp1qa9gmOAk91IA3-2mYttLigS61br-M,5222
10
+ hirundo/_run_checking.py,sha256=uJSldQKOhF4jqkKRDHX36Y46jUK0F1PFlCEPG0mzCu4,9129
11
+ hirundo/_timeouts.py,sha256=gE58NU0t2e4KgKq2sk5rZcezDJAkgvRIbM5AVYFY6Ho,86
12
+ hirundo/_urls.py,sha256=BjGMTQtsAWdZDtFdSV2L14rGiohi78U_1GEB4G3DwUA,1393
13
+ hirundo/cli.py,sha256=T0RNpY8AKyfVdV9wjWjVRt6gEGICciXWqdBJC3eOD4c,7719
14
+ hirundo/dataset_enum.py,sha256=fNMYsiu6yyhyjpbKHeY2NfL6VX7LhcYypB7a4EXV5ZM,1291
15
+ hirundo/dataset_qa.py,sha256=jnSBF-J4rcL7Q23oJKOCOI1ryE84dKRe2QDkfeJfQRE,28150
16
+ hirundo/dataset_qa_results.py,sha256=HgUitmHbxE-DlZLNA2JR-1x0TPMkXobKYUYNc1Jpduw,1068
17
+ hirundo/git.py,sha256=He9t5ZIhrrQ56zYCuwGVQ1SffiSmGK1hV0NvmghPIhk,6477
18
+ hirundo/labeling.py,sha256=OroBchxsHR4RI-FuqwTatsGFaYINIYsBNg0L0PkuAkA,5165
19
+ hirundo/logger.py,sha256=MUqrYp0fBlxWFhGl6P5t19_uqO7T_PNhrLN5bqY3i7s,275
20
+ hirundo/storage.py,sha256=Q4TMoJR8NEbvI8CI8nCerUmlBncWqkAbTL2BvUBC5P0,15763
21
+ hirundo/unlearning_llm.py,sha256=Be_ks2aeQTzkPESe2K7RfPPtFkuzlTA7Q3Eq_jzAGxg,19594
22
+ hirundo/unzip.py,sha256=VEUsZxmZrU0Qn2q8YX0hdPIjKFLAtfPKbIhQtZxJSnA,8151
23
+ hirundo-0.2.3.post1.dist-info/licenses/LICENSE,sha256=fusGGjqT2RGlU6kbkaOk7d-gDnsjk17wq67AO0mwBZI,1065
24
+ hirundo-0.2.3.post1.dist-info/METADATA,sha256=Dicj3i_n1fOawy4SyeZd7MjahMOosFtQYwlLTMBnRWM,10497
25
+ hirundo-0.2.3.post1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
26
+ hirundo-0.2.3.post1.dist-info/entry_points.txt,sha256=4ZtnA_Nl1Af8fLnHp3lwjbGDEGU1S6ujb_JwtuQ7ZPM,44
27
+ hirundo-0.2.3.post1.dist-info/top_level.txt,sha256=cmyNqrNZOAYxnywJGFI1AJBLe4SkH8HGsfFx6ncdrbI,8
28
+ hirundo-0.2.3.post1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,25 +0,0 @@
1
- hirundo/__init__.py,sha256=GxRK_DHPKG1aqxNa19imqspHRAvBHSAQ5Q0fDwJPCDE,1341
2
- hirundo/__main__.py,sha256=wcCrL4PjG51r5wVKqJhcoJPTLfHW0wNbD31DrUN0MWI,28
3
- hirundo/_constraints.py,sha256=slW7Rk9Ml5fuwjnXTLUvHIhnY_9hmcUUy57v9hFog1o,6003
4
- hirundo/_dataframe.py,sha256=sXEEbCNcLi83wyU9ii884YikCzfASo_3nnrDxhuCv7U,758
5
- hirundo/_env.py,sha256=efX2sjvYlHkFr2Lcstelei67YSTFpVGT0l08ZsfiMuE,622
6
- hirundo/_headers.py,sha256=Cwha8gXEQNXL2lc9Lb1klLotkMLD82XOpAdX33TLVj8,521
7
- hirundo/_http.py,sha256=0kfoznumU3jinHhJIpB6qn5Mt4a3kso59GNXVbpWH7M,2267
8
- hirundo/_iter_sse_retrying.py,sha256=xNpf3W5qAHkKPJz8H4NZjKE3CrI_8b3m1iYeahdpdEc,4653
9
- hirundo/_timeouts.py,sha256=gE58NU0t2e4KgKq2sk5rZcezDJAkgvRIbM5AVYFY6Ho,86
10
- hirundo/_urls.py,sha256=0C85EbL0T-Bj25vJwjNs_obUG8ROSADpmbFdTAyhzlw,1375
11
- hirundo/cli.py,sha256=u-LsrN17-J7temjrq6NeUGnJ4mO04tMCiQYqVMm6el8,7752
12
- hirundo/dataset_enum.py,sha256=QnS3fy1OF4wvUtiIAHubKRhc611idS8huopEEolgqEM,1217
13
- hirundo/dataset_qa.py,sha256=U7cqV4JbYkaByXEf2XdoJrQZ_rI9pgDxrXVbQLc50R8,32470
14
- hirundo/dataset_qa_results.py,sha256=1F7JhRf7TQomwW9tjbNn8OBrhWHwEaWOND80r39l5uY,1104
15
- hirundo/git.py,sha256=cBjP7kPnaUHR77FI5ZaERst38eTUDy8q1gAQzy45EB4,6567
16
- hirundo/labeling.py,sha256=zXQCaqfdaLIG4qbzFGbb94L3FDdRMpdzHwbrDJE07Yk,5006
17
- hirundo/logger.py,sha256=MUqrYp0fBlxWFhGl6P5t19_uqO7T_PNhrLN5bqY3i7s,275
18
- hirundo/storage.py,sha256=MPKxkhrBmX84Yuexd4QoLDdVIJHrll9RosCLUsz5q3c,15936
19
- hirundo/unzip.py,sha256=3aPOsBvF-ZgAumHnQ6hq7JtbFUe9eRRRFsiI6K8cRDE,8188
20
- hirundo-0.1.21.dist-info/licenses/LICENSE,sha256=fusGGjqT2RGlU6kbkaOk7d-gDnsjk17wq67AO0mwBZI,1065
21
- hirundo-0.1.21.dist-info/METADATA,sha256=3m7R5dMN5h_C-L2Wl76lzYjpreP5upyHcEkIoAZF1lY,9497
22
- hirundo-0.1.21.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
23
- hirundo-0.1.21.dist-info/entry_points.txt,sha256=4ZtnA_Nl1Af8fLnHp3lwjbGDEGU1S6ujb_JwtuQ7ZPM,44
24
- hirundo-0.1.21.dist-info/top_level.txt,sha256=cmyNqrNZOAYxnywJGFI1AJBLe4SkH8HGsfFx6ncdrbI,8
25
- hirundo-0.1.21.dist-info/RECORD,,