typegun 0.1.0__tar.gz → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: typegun
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Run a bunch of python typecheckers on a project, to see if there are any problems.
5
5
  Author-email: wyattscarpenter <wyattscarpenter@gmail.com>
6
6
  License-Expression: CC0-1.0
@@ -23,11 +23,29 @@ Typegun is a small command-line utility for python to run a bunch of python type
23
23
 
24
24
  This only includes typecheckers that have a reasonable shot at typing near-current-version python projects mostly-correctly, in my (non-scientific) opinion, a list which may vary over time. If you'd like to add more or bicker about the configurations these typecheckers should have, I'm happy to hear it. The versions of these typecheckers are completely unpinned, all the better to get the most recent versions of them probably. It also includes [ruff](https://docs.astral.sh/ruff/), which is not a typechecker, but is very useful for code quality nonetheless.
25
25
 
26
- Typegun is strategic about the order in which it runs its typecheckers, and this ordering is determined by the speed and utility of the typechecker. Ruff runs first because it runs very fast and never false-positives a type error at all, while still alerting you to other problems that may cause a type error, which the other typecheckers will detect more slowly later. Pyright runs second because it's fast and very correct to the python typing spec. Mypy runs after this because it's slower (TODO: daemon?) and has a couple typing problems. pytype runs last because it is slow and doesn't fully support Python 3.12 yet.
26
+ Typegun is strategic about the order in which it runs its typecheckers, and this ordering is determined by the speed and utility of the typechecker. Ruff runs first because it runs very fast and never false-positives a type error at all, while still alerting you to other problems that may cause a type error, which the other typecheckers will detect more slowly later. Pyright runs second because it's fast and very correct to the python typing spec. Mypy runs after this because it's slower and has a couple typing problems. pytype runs last because it is slow and doesn't fully support Python 3.12 yet.
27
27
 
28
+ (will experiment with these as my job allows (using the typechecking script from there as a model)){
28
29
  TODO: allow for custom behavior thru a typegun_special file or something.
29
30
 
30
- TODO: example usage using pipx or w/e
31
+ TODO: allow for flexibility in what arguments/files the typecheckers are called on?
32
+
33
+ TODO: mypy daemon, faster storage with orjson?
34
+ }
35
+
36
+ ## Example usage
37
+
38
+ In your project directory, do one of the following, depending on what you have installed already:
39
+
40
+ ```typegun```
41
+
42
+ ```uvx typegun```
43
+
44
+ ```pipx run typegun```
45
+
46
+ ```pip install typegun --break-system-packages && typegun```
47
+
48
+ etc etc
31
49
 
32
50
  ## Illustrative diagram
33
51
 
@@ -9,11 +9,29 @@ Typegun is a small command-line utility for python to run a bunch of python type
9
9
 
10
10
  This only includes typecheckers that have a reasonable shot at typing near-current-version python projects mostly-correctly, in my (non-scientific) opinion, a list which may vary over time. If you'd like to add more or bicker about the configurations these typecheckers should have, I'm happy to hear it. The versions of these typecheckers are completely unpinned, all the better to get the most recent versions of them probably. It also includes [ruff](https://docs.astral.sh/ruff/), which is not a typechecker, but is very useful for code quality nonetheless.
11
11
 
12
- Typegun is strategic about the order in which it runs its typecheckers, and this ordering is determined by the speed and utility of the typechecker. Ruff runs first because it runs very fast and never false-positives a type error at all, while still alerting you to other problems that may cause a type error, which the other typecheckers will detect more slowly later. Pyright runs second because it's fast and very correct to the python typing spec. Mypy runs after this because it's slower (TODO: daemon?) and has a couple typing problems. pytype runs last because it is slow and doesn't fully support Python 3.12 yet.
12
+ Typegun is strategic about the order in which it runs its typecheckers, and this ordering is determined by the speed and utility of the typechecker. Ruff runs first because it runs very fast and never false-positives a type error at all, while still alerting you to other problems that may cause a type error, which the other typecheckers will detect more slowly later. Pyright runs second because it's fast and very correct to the python typing spec. Mypy runs after this because it's slower and has a couple typing problems. pytype runs last because it is slow and doesn't fully support Python 3.12 yet.
13
13
 
14
+ (will experiment with these as my job allows (using the typechecking script from there as a model)){
14
15
  TODO: allow for custom behavior thru a typegun_special file or something.
15
16
 
16
- TODO: example usage using pipx or w/e
17
+ TODO: allow for flexibility in what arguments/files the typecheckers are called on?
18
+
19
+ TODO: mypy daemon, faster storage with orjson?
20
+ }
21
+
22
+ ## Example usage
23
+
24
+ In your project directory, do one of the following, depending on what you have installed already:
25
+
26
+ ```typegun```
27
+
28
+ ```uvx typegun```
29
+
30
+ ```pipx run typegun```
31
+
32
+ ```pip install typegun --break-system-packages && typegun```
33
+
34
+ etc etc
17
35
 
18
36
  ## Illustrative diagram
19
37
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "typegun"
3
- version = "0.1.0"
3
+ version = "0.2.0"
4
4
  description = "Run a bunch of python typecheckers on a project, to see if there are any problems."
5
5
  readme = "README.md"
6
6
  license = "CC0-1.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes