pythonlib 2.0.0 → 2.0.1
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.
- package/README.md +120 -48
- package/dist/base64.js +1 -1
- package/dist/{chunk-FCJ7E4OE.js → chunk-2QEMKE7U.js} +2 -0
- package/dist/{chunk-PWA3YQZU.js → chunk-3HQSBCEC.js} +2 -0
- package/dist/{chunk-5VAHUJNC.js → chunk-CANUXHVB.js} +1 -0
- package/dist/{chunk-3CLXPGAB.js → chunk-HTCQ4OO5.js} +1 -0
- package/dist/{chunk-B5AUEOAH.js → chunk-JVTQM7CI.js} +2 -0
- package/dist/{chunk-KKHKTQNN.js → chunk-MEEU4SH5.js} +1 -0
- package/dist/{chunk-U4X5DEIP.js → chunk-PVK4F3ME.js} +6 -0
- package/dist/{chunk-LTXTS7RP.js → chunk-RRSOZXZE.js} +1 -0
- package/dist/{chunk-LLZFLQS6.js → chunk-THMJVAK6.js} +2 -0
- package/dist/{chunk-JJKTRIVO.js → chunk-YONWJHJU.js} +3 -0
- package/dist/copy.js +1 -1
- package/dist/hashlib.js +1 -1
- package/dist/index.browser.js +9 -8
- package/dist/index.js +9 -9
- package/dist/logging.browser.js +1 -1
- package/dist/logging.node.js +1 -1
- package/dist/shutil.node.js +1 -1
- package/dist/subprocess.js +1 -1
- package/dist/sys.js +1 -1
- package/dist/time.js +1 -1
- package/dist/uuid.js +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# pythonlib
|
|
2
2
|
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**Python's Beloved Standard Library — Now in TypeScript**
|
|
6
|
+
|
|
3
7
|
[](https://www.npmjs.com/package/pythonlib)
|
|
4
8
|
[](https://www.npmjs.com/package/pythonlib)
|
|
5
9
|
[](https://www.npmjs.com/package/pythonlib?activeTab=dependencies)
|
|
@@ -8,80 +12,148 @@
|
|
|
8
12
|
[](https://bun.sh/)
|
|
9
13
|
[](https://github.com/sebastian-software/python2ts/blob/main/LICENSE)
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
Miss `itertools.combinations`? Love `collections.Counter`? Wish you had `functools.lru_cache` in
|
|
20
|
+
JavaScript?
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
**pythonlib** brings Python's most powerful utilities to TypeScript — zero dependencies, full type
|
|
23
|
+
safety, tree-shakeable.
|
|
24
|
+
|
|
25
|
+
## Install
|
|
18
26
|
|
|
19
27
|
```bash
|
|
20
28
|
npm install pythonlib
|
|
21
29
|
```
|
|
22
30
|
|
|
31
|
+
## Why pythonlib?
|
|
32
|
+
|
|
33
|
+
| What You Get | Why It Matters |
|
|
34
|
+
| --------------------------- | ------------------------------------------------- |
|
|
35
|
+
| **Zero dependencies** | No supply chain bloat, minimal attack surface |
|
|
36
|
+
| **Full TypeScript support** | Generics, type inference, autocomplete everywhere |
|
|
37
|
+
| **Tree-shakeable** | Bundle only what you use |
|
|
38
|
+
| **camelCase API** | Feels native in TypeScript |
|
|
39
|
+
| **Works everywhere** | Browsers, Node.js, Deno, Bun, Workers |
|
|
40
|
+
|
|
41
|
+
## Quick Examples
|
|
42
|
+
|
|
43
|
+
### itertools — Combinatorics Made Easy
|
|
44
|
+
|
|
23
45
|
```typescript
|
|
24
|
-
import {
|
|
25
|
-
import { combinations } from "pythonlib/itertools"
|
|
26
|
-
import { Counter } from "pythonlib/collections"
|
|
27
|
-
import { lruCache } from "pythonlib/functools"
|
|
28
|
-
|
|
29
|
-
// Python-style iteration
|
|
30
|
-
for (const i of range(10)) {
|
|
31
|
-
console.log(i)
|
|
32
|
-
}
|
|
46
|
+
import { combinations, permutations, product } from "pythonlib/itertools"
|
|
33
47
|
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
48
|
+
// All 2-element combinations
|
|
49
|
+
[...combinations([1, 2, 3], 2)]
|
|
50
|
+
// → [[1, 2], [1, 3], [2, 3]]
|
|
51
|
+
|
|
52
|
+
// Cartesian product
|
|
53
|
+
[...product(["a", "b"], [1, 2])]
|
|
54
|
+
// → [["a", 1], ["a", 2], ["b", 1], ["b", 2]]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### collections — Data Structures That Just Work
|
|
38
58
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
59
|
+
```typescript
|
|
60
|
+
import { Counter, defaultdict, deque } from "pythonlib/collections"
|
|
61
|
+
|
|
62
|
+
// Count anything
|
|
63
|
+
const votes = new Counter(["alice", "bob", "alice", "alice"])
|
|
64
|
+
votes.mostCommon(1) // → [["alice", 3]]
|
|
42
65
|
|
|
43
|
-
//
|
|
66
|
+
// No more "undefined" checks
|
|
67
|
+
const graph = defaultdict(() => [])
|
|
68
|
+
graph.get("node1").push("node2") // Just works!
|
|
69
|
+
|
|
70
|
+
// Double-ended queue with O(1) operations
|
|
71
|
+
const dq = new deque([1, 2, 3])
|
|
72
|
+
dq.appendLeft(0) // [0, 1, 2, 3]
|
|
73
|
+
dq.pop() // [0, 1, 2]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### functools — Functional Programming Utilities
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import { lruCache, partial, reduce } from "pythonlib/functools"
|
|
80
|
+
|
|
81
|
+
// Memoization with one line
|
|
44
82
|
const fib = lruCache((n: number): number => (n <= 1 ? n : fib(n - 1) + fib(n - 2)))
|
|
83
|
+
fib(100) // Instant, even for large values
|
|
84
|
+
|
|
85
|
+
// Partial application
|
|
86
|
+
const greet = (greeting: string, name: string) => `${greeting}, ${name}!`
|
|
87
|
+
const sayHello = partial(greet, "Hello")
|
|
88
|
+
sayHello("World") // → "Hello, World!"
|
|
45
89
|
```
|
|
46
90
|
|
|
47
|
-
|
|
91
|
+
### Builtins — Python's Greatest Hits
|
|
48
92
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
| `pythonlib` | Builtins: `len`, `range`, `sorted`, `enumerate`... | [→](https://sebastian-software.github.io/python2ts/docs/api/index) |
|
|
52
|
-
| `pythonlib/itertools` | `chain`, `combinations`, `zipLongest`, `takeWhile` | [→](https://sebastian-software.github.io/python2ts/docs/api/itertools) |
|
|
53
|
-
| `pythonlib/functools` | `partial`, `reduce`, `lruCache`, `pipe` | [→](https://sebastian-software.github.io/python2ts/docs/api/functools) |
|
|
54
|
-
| `pythonlib/collections` | `Counter`, `defaultdict`, `deque` | [→](https://sebastian-software.github.io/python2ts/docs/api/collections) |
|
|
55
|
-
| `pythonlib/math` | `sqrt`, `floor`, `ceil`, `factorial`, `pi`, `e` | [→](https://sebastian-software.github.io/python2ts/docs/api/math) |
|
|
56
|
-
| `pythonlib/random` | `randInt`, `choice`, `shuffle`, `sample` | [→](https://sebastian-software.github.io/python2ts/docs/api/random) |
|
|
57
|
-
| `pythonlib/datetime` | `datetime`, `date`, `time`, `timedelta` | [→](https://sebastian-software.github.io/python2ts/docs/api/datetime) |
|
|
58
|
-
| `pythonlib/json` | `loads`, `dumps` | [→](https://sebastian-software.github.io/python2ts/docs/api/json) |
|
|
59
|
-
| `pythonlib/re` | `search`, `match`, `findAll`, `sub`, `compile` | [→](https://sebastian-software.github.io/python2ts/docs/api/re) |
|
|
60
|
-
| `pythonlib/string` | `Template`, `capWords`, `asciiLowercase` | [→](https://sebastian-software.github.io/python2ts/docs/api/string) |
|
|
61
|
-
|
|
62
|
-
> All function names use **camelCase** to feel native in TypeScript.
|
|
93
|
+
```typescript
|
|
94
|
+
import { range, enumerate, zip, sorted, reversed } from "pythonlib"
|
|
63
95
|
|
|
64
|
-
|
|
96
|
+
// Python-style range
|
|
97
|
+
for (const i of range(5)) {
|
|
98
|
+
} // 0, 1, 2, 3, 4
|
|
99
|
+
for (const i of range(1, 10, 2)) {
|
|
100
|
+
} // 1, 3, 5, 7, 9
|
|
65
101
|
|
|
66
|
-
|
|
102
|
+
// Enumerate with index
|
|
103
|
+
for (const [i, item] of enumerate(["a", "b", "c"])) {
|
|
104
|
+
console.log(i, item) // 0 "a", 1 "b", 2 "c"
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Zip multiple iterables
|
|
108
|
+
;[...zip([1, 2, 3], ["a", "b", "c"])]
|
|
109
|
+
// → [[1, "a"], [2, "b"], [3, "c"]]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Available Modules
|
|
67
113
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
| [
|
|
71
|
-
| [
|
|
72
|
-
| [
|
|
73
|
-
| [
|
|
114
|
+
| Module | Highlights | Docs |
|
|
115
|
+
| ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
116
|
+
| `pythonlib` | `range`, `enumerate`, `zip`, `sorted`, `len`, `min`, `max` | [→](https://sebastian-software.github.io/python2ts/docs/api/index) |
|
|
117
|
+
| `pythonlib/itertools` | `chain`, `combinations`, `permutations`, `product`, `cycle` | [→](https://sebastian-software.github.io/python2ts/docs/api/itertools) |
|
|
118
|
+
| `pythonlib/functools` | `lruCache`, `partial`, `reduce`, `pipe`, `compose` | [→](https://sebastian-software.github.io/python2ts/docs/api/functools) |
|
|
119
|
+
| `pythonlib/collections` | `Counter`, `defaultdict`, `deque`, `OrderedDict` | [→](https://sebastian-software.github.io/python2ts/docs/api/collections) |
|
|
120
|
+
| `pythonlib/math` | `sqrt`, `floor`, `ceil`, `factorial`, `gcd`, `pi` | [→](https://sebastian-software.github.io/python2ts/docs/api/math) |
|
|
121
|
+
| `pythonlib/random` | `randInt`, `choice`, `shuffle`, `sample`, `random` | [→](https://sebastian-software.github.io/python2ts/docs/api/random) |
|
|
122
|
+
| `pythonlib/datetime` | `datetime`, `date`, `time`, `timedelta` | [→](https://sebastian-software.github.io/python2ts/docs/api/datetime) |
|
|
123
|
+
| `pythonlib/re` | `search`, `match`, `findAll`, `sub`, `compile` | [→](https://sebastian-software.github.io/python2ts/docs/api/re) |
|
|
124
|
+
| `pythonlib/json` | `loads`, `dumps` with Python semantics | [→](https://sebastian-software.github.io/python2ts/docs/api/json) |
|
|
125
|
+
| `pythonlib/string` | `Template`, `capWords`, `ascii_lowercase` | [→](https://sebastian-software.github.io/python2ts/docs/api/string) |
|
|
126
|
+
| `pythonlib/os` | `path.join`, `environ`, `getcwd` | [→](https://sebastian-software.github.io/python2ts/docs/api/os) |
|
|
127
|
+
| `pythonlib/pathlib` | `Path` class for filesystem operations | [→](https://sebastian-software.github.io/python2ts/docs/api/pathlib) |
|
|
128
|
+
| `pythonlib/glob` | File pattern matching | [→](https://sebastian-software.github.io/python2ts/docs/api/glob) |
|
|
129
|
+
| `pythonlib/hashlib` | `md5`, `sha256`, `sha512` hashing | [→](https://sebastian-software.github.io/python2ts/docs/api/hashlib) |
|
|
130
|
+
| `pythonlib/base64` | Base64 encoding/decoding | [→](https://sebastian-software.github.io/python2ts/docs/api/base64) |
|
|
131
|
+
| `pythonlib/uuid` | UUID generation | [→](https://sebastian-software.github.io/python2ts/docs/api/uuid) |
|
|
74
132
|
|
|
75
133
|
## Runtime Support
|
|
76
134
|
|
|
77
|
-
|
|
135
|
+
Works everywhere JavaScript runs:
|
|
136
|
+
|
|
137
|
+
- **Node.js** (v22, v24)
|
|
138
|
+
- **Bun**
|
|
139
|
+
- **Deno**
|
|
140
|
+
- **Browsers** (Chrome, Firefox, Safari)
|
|
141
|
+
- **Edge** (Cloudflare Workers, Vercel, AWS Lambda)
|
|
142
|
+
|
|
143
|
+
## Documentation
|
|
78
144
|
|
|
79
|
-
|
|
145
|
+
| Resource | Description |
|
|
146
|
+
| ---------------------------------------------------------------------------- | ------------------------------------------ |
|
|
147
|
+
| [Homepage](https://sebastian-software.github.io/python2ts/) | Project overview and quick start |
|
|
148
|
+
| [Runtime Guide](https://sebastian-software.github.io/python2ts/docs/runtime) | Detailed usage guide |
|
|
149
|
+
| [API Reference](https://sebastian-software.github.io/python2ts/docs/api) | Complete API documentation for all modules |
|
|
80
150
|
|
|
81
151
|
## Related
|
|
82
152
|
|
|
83
153
|
- [**python2ts**](https://www.npmjs.com/package/python2ts) — Transpile Python to TypeScript
|
|
84
|
-
|
|
154
|
+
automatically
|
|
155
|
+
- [**GitHub**](https://github.com/sebastian-software/python2ts) — Source code, issues, contributions
|
|
156
|
+
welcome
|
|
85
157
|
|
|
86
158
|
## License
|
|
87
159
|
|
package/dist/base64.js
CHANGED
|
@@ -106,12 +106,14 @@ var FileHandler = class extends Handler {
|
|
|
106
106
|
this.filename = filename;
|
|
107
107
|
this.mode = mode;
|
|
108
108
|
}
|
|
109
|
+
/* v8 ignore start -- async file writing is tested via integration @preserve */
|
|
109
110
|
emit(record) {
|
|
110
111
|
const msg = this.format(record) + "\n";
|
|
111
112
|
import("fs/promises").then((fs) => fs.appendFile(this.filename, msg)).catch(() => {
|
|
112
113
|
console.log(msg);
|
|
113
114
|
});
|
|
114
115
|
}
|
|
116
|
+
/* v8 ignore stop */
|
|
115
117
|
};
|
|
116
118
|
var Formatter = class {
|
|
117
119
|
fmt;
|
|
@@ -186,3 +186,9 @@ export {
|
|
|
186
186
|
hashInfo,
|
|
187
187
|
sys_exports
|
|
188
188
|
};
|
|
189
|
+
/* v8 ignore next -- browser fallback @preserve */
|
|
190
|
+
/* v8 ignore next 5 -- always returns empty array @preserve */
|
|
191
|
+
/* v8 ignore next 2 -- browser fallback @preserve */
|
|
192
|
+
/* v8 ignore next 3 -- always runs in Node.js @preserve */
|
|
193
|
+
/* v8 ignore start -- Set branch tested via getSizeOf(new Set()) @preserve */
|
|
194
|
+
/* v8 ignore next -- unreachable after typeof checks @preserve */
|
|
@@ -219,6 +219,7 @@ var Popen = class {
|
|
|
219
219
|
await this.wait();
|
|
220
220
|
return [this._stdout, this._stderr];
|
|
221
221
|
}
|
|
222
|
+
/* v8 ignore start -- process control methods are hard to test reliably @preserve */
|
|
222
223
|
/**
|
|
223
224
|
* Send a signal to the process.
|
|
224
225
|
*/
|
|
@@ -237,6 +238,7 @@ var Popen = class {
|
|
|
237
238
|
kill() {
|
|
238
239
|
return this.process.kill("SIGKILL");
|
|
239
240
|
}
|
|
241
|
+
/* v8 ignore stop */
|
|
240
242
|
/**
|
|
241
243
|
* The process ID.
|
|
242
244
|
*/
|
package/dist/copy.js
CHANGED
package/dist/hashlib.js
CHANGED
package/dist/index.browser.js
CHANGED
|
@@ -63,19 +63,19 @@ import {
|
|
|
63
63
|
} from "./chunk-5OKGPZBQ.js";
|
|
64
64
|
import {
|
|
65
65
|
subprocess_exports
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-THMJVAK6.js";
|
|
67
67
|
import {
|
|
68
68
|
sys_exports
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-PVK4F3ME.js";
|
|
70
70
|
import {
|
|
71
71
|
time_exports
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-MEEU4SH5.js";
|
|
73
73
|
import {
|
|
74
74
|
urllib_exports
|
|
75
75
|
} from "./chunk-IANXD4D4.js";
|
|
76
76
|
import {
|
|
77
77
|
uuid_exports
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-2QEMKE7U.js";
|
|
79
79
|
import {
|
|
80
80
|
random_exports
|
|
81
81
|
} from "./chunk-3M3PB4RO.js";
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
} from "./chunk-JAUU3HMH.js";
|
|
105
105
|
import {
|
|
106
106
|
logging_browser_exports
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-CANUXHVB.js";
|
|
108
108
|
import {
|
|
109
109
|
math_exports
|
|
110
110
|
} from "./chunk-QKJBQKPY.js";
|
|
@@ -114,13 +114,13 @@ import {
|
|
|
114
114
|
import "./chunk-LHPQS75Z.js";
|
|
115
115
|
import {
|
|
116
116
|
base64_exports
|
|
117
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-HTCQ4OO5.js";
|
|
118
118
|
import {
|
|
119
119
|
collections_exports
|
|
120
120
|
} from "./chunk-MFKIEN7N.js";
|
|
121
121
|
import {
|
|
122
122
|
copy_exports
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-RRSOZXZE.js";
|
|
124
124
|
import {
|
|
125
125
|
datetime_exports
|
|
126
126
|
} from "./chunk-LK2L2TFG.js";
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
} from "./chunk-B5LQJODJ.js";
|
|
133
133
|
import {
|
|
134
134
|
hashlib_exports
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-YONWJHJU.js";
|
|
136
136
|
import "./chunk-MLKGABMK.js";
|
|
137
137
|
|
|
138
138
|
// src/index.browser.ts
|
|
@@ -302,3 +302,4 @@ export {
|
|
|
302
302
|
uuid,
|
|
303
303
|
zip2 as zip
|
|
304
304
|
};
|
|
305
|
+
/* v8 ignore start -- browser version tested via browser tests @preserve */
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-KKJHGY4C.js";
|
|
10
10
|
import {
|
|
11
11
|
shutil_node_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JVTQM7CI.js";
|
|
13
13
|
import {
|
|
14
14
|
abs,
|
|
15
15
|
all,
|
|
@@ -66,19 +66,19 @@ import {
|
|
|
66
66
|
} from "./chunk-5OKGPZBQ.js";
|
|
67
67
|
import {
|
|
68
68
|
subprocess_exports
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-THMJVAK6.js";
|
|
70
70
|
import {
|
|
71
71
|
sys_exports
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-PVK4F3ME.js";
|
|
73
73
|
import {
|
|
74
74
|
time_exports
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-MEEU4SH5.js";
|
|
76
76
|
import {
|
|
77
77
|
urllib_exports
|
|
78
78
|
} from "./chunk-IANXD4D4.js";
|
|
79
79
|
import {
|
|
80
80
|
uuid_exports
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-2QEMKE7U.js";
|
|
82
82
|
import {
|
|
83
83
|
random_exports
|
|
84
84
|
} from "./chunk-3M3PB4RO.js";
|
|
@@ -107,20 +107,20 @@ import {
|
|
|
107
107
|
} from "./chunk-JAUU3HMH.js";
|
|
108
108
|
import {
|
|
109
109
|
logging_node_exports
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-3HQSBCEC.js";
|
|
111
111
|
import {
|
|
112
112
|
math_exports
|
|
113
113
|
} from "./chunk-QKJBQKPY.js";
|
|
114
114
|
import "./chunk-LHPQS75Z.js";
|
|
115
115
|
import {
|
|
116
116
|
base64_exports
|
|
117
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-HTCQ4OO5.js";
|
|
118
118
|
import {
|
|
119
119
|
collections_exports
|
|
120
120
|
} from "./chunk-MFKIEN7N.js";
|
|
121
121
|
import {
|
|
122
122
|
copy_exports
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-RRSOZXZE.js";
|
|
124
124
|
import {
|
|
125
125
|
datetime_exports
|
|
126
126
|
} from "./chunk-LK2L2TFG.js";
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
} from "./chunk-RB6BYCIQ.js";
|
|
133
133
|
import {
|
|
134
134
|
hashlib_exports
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-YONWJHJU.js";
|
|
136
136
|
import "./chunk-MLKGABMK.js";
|
|
137
137
|
|
|
138
138
|
// src/index.ts
|
package/dist/logging.browser.js
CHANGED
package/dist/logging.node.js
CHANGED
package/dist/shutil.node.js
CHANGED
package/dist/subprocess.js
CHANGED
package/dist/sys.js
CHANGED
package/dist/time.js
CHANGED
package/dist/uuid.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pythonlib",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Python standard library for TypeScript - itertools, functools, collections, datetime, re, and more. Zero dependencies. Full TypeScript support.",
|
|
5
5
|
"homepage": "https://sebastian-software.github.io/python2ts/",
|
|
6
6
|
"repository": {
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"url": "https://github.com/sponsors/sebastian-software"
|
|
17
17
|
},
|
|
18
18
|
"type": "module",
|
|
19
|
+
"sideEffects": false,
|
|
19
20
|
"main": "dist/index.js",
|
|
20
21
|
"types": "dist/index.d.ts",
|
|
21
22
|
"exports": {
|