File tree Expand file tree Collapse file tree 7 files changed +360
-0
lines changed
development/python-modules Expand file tree Collapse file tree 7 files changed +360
-0
lines changed Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchFromGitHub ,
5+ # build-system
6+ hatchling ,
7+ scikit-build-core ,
8+ hatch-vcs ,
9+ nanobind ,
10+ # deps
11+ antlr4-python3-runtime ,
12+ attrs ,
13+ case-converter ,
14+ cattrs ,
15+ click ,
16+ deepdiff ,
17+ easyeda2ato ,
18+ eseries ,
19+ fake-useragent ,
20+ fastapi ,
21+ gitpython ,
22+ igraph ,
23+ jinja2 ,
24+ natsort ,
25+ networkx ,
26+ pandas ,
27+ pint ,
28+ pygls ,
29+ quart-cors ,
30+ quart-schema ,
31+ quart ,
32+ rich ,
33+ ruamel-yaml ,
34+ schema ,
35+ scipy ,
36+ semver ,
37+ toolz ,
38+ urllib3 ,
39+ uvicorn ,
40+ watchfiles ,
41+ pyyaml ,
42+ # tests
43+ pytestCheckHook ,
44+ pytest-xdist ,
45+ pytest-timeout ,
46+ } :
47+
48+ buildPythonPackage rec {
49+ pname = "atopile" ;
50+ version = "0.2.69" ;
51+ pyproject = true ;
52+
53+ src = fetchFromGitHub {
54+ owner = "atopile" ;
55+ repo = "atopile" ;
56+ tag = "v${ version } " ;
57+ hash = "sha256-mQYnaWch0lVzz1hV6WboYxBGe3ruw+mK2AwMx13DQJM=" ;
58+ } ;
59+
60+ build-system = [
61+ hatchling
62+ scikit-build-core
63+ hatch-vcs
64+ nanobind
65+ ] ;
66+
67+ dependencies = [
68+ antlr4-python3-runtime
69+ attrs
70+ case-converter
71+ cattrs
72+ click
73+ deepdiff
74+ easyeda2ato
75+ eseries
76+ fake-useragent
77+ fastapi
78+ gitpython
79+ igraph
80+ jinja2
81+ natsort
82+ networkx
83+ pandas
84+ pint
85+ pygls
86+ quart-cors
87+ quart-schema
88+ quart
89+ rich
90+ ruamel-yaml
91+ schema
92+ scipy
93+ semver
94+ toolz
95+ urllib3
96+ uvicorn
97+ watchfiles
98+ pyyaml # required for ato
99+ ] ;
100+
101+ pythonRelaxDeps = [ "antlr4-python3-runtime" ] ;
102+
103+ pythonImportsCheck = [ "atopile" ] ;
104+
105+ preCheck = ''
106+ substituteInPlace pyproject.toml \
107+ --replace-fail "--html=artifacts/test-report.html" "" \
108+ --replace-fail "--self-contained-html" ""
109+ '' ;
110+
111+ nativeCheckInputs = [
112+ pytestCheckHook
113+ pytest-xdist
114+ pytest-timeout
115+ ] ;
116+
117+ meta = {
118+ description = "Design circuit boards with code" ;
119+ homepage = "https://aiopg.readthedocs.io/" ;
120+ downloadPage = "https://github.com/atopile/atopile" ;
121+ changelog = "https://github.com/atopile/atopile/releases/tag/${ src . rev } " ;
122+ license = with lib . licenses ; [ mit ] ;
123+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
124+ mainProgram = "ato" ;
125+ } ;
126+ }
Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchFromGitHub ,
5+ setuptools ,
6+ pytestCheckHook ,
7+ } :
8+
9+ buildPythonPackage rec {
10+ pname = "case-converter" ;
11+ version = "1.2.0" ;
12+ pyproject = true ;
13+
14+ src = fetchFromGitHub {
15+ owner = "chrisdoherty4" ;
16+ repo = "python-case-converter" ;
17+ tag = "v${ version } " ;
18+ hash = "sha256-PS/9Ndl3oD9zimEf819dNoSAeNJPndVjT+dkfW7FIJs=" ;
19+ } ;
20+
21+ build-system = [ setuptools ] ;
22+
23+ pythonImportsCheck = [ "caseconverter" ] ;
24+
25+ doCheck = true ;
26+
27+ nativeCheckInputs = [ pytestCheckHook ] ;
28+
29+ meta = {
30+ description = "Case conversion library for Python" ;
31+ homepage = "https://github.com/chrisdoherty4/python-case-converter" ;
32+ changelog = "https://github.com/chrisdoherty4/python-case-converter/releases/tag/${ src . tag } " ;
33+ license = lib . licenses . mit ;
34+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
35+ } ;
36+ }
Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchFromGitHub ,
5+ setuptools ,
6+ docopt ,
7+ pytestCheckHook ,
8+ hypothesis ,
9+ } :
10+
11+ buildPythonPackage {
12+ pname = "docopt-subcommands" ;
13+ version = "4.0.0-unstable-2020-01-06" ;
14+ pyproject = true ;
15+
16+ src = fetchFromGitHub {
17+ owner = "abingham" ;
18+ repo = "docopt-subcommands" ;
19+ rev = "5693cbac24701c53e55fa182c1d563736e6a0557" ; # no tags
20+ hash = "sha256-bNFmRMzyC9BQB/J0ACqYxkS7lHG4CWd5/by7QgCopFo=" ;
21+ } ;
22+
23+ build-system = [ setuptools ] ;
24+
25+ dependencies = [ docopt ] ;
26+
27+ pythonImportsCheck = [ "docopt_subcommands" ] ;
28+
29+ nativeCheckInputs = [
30+ pytestCheckHook
31+ hypothesis
32+ ] ;
33+
34+ meta = {
35+ description = "Create subcommand-based CLI programs with docopt" ;
36+ homepage = "https://github.com/abingham/docopt-subcommands" ;
37+ license = lib . licenses . mit ;
38+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
39+ } ;
40+ }
Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchPypi ,
5+ setuptools ,
6+ pydantic ,
7+ requests ,
8+ } :
9+
10+ buildPythonPackage rec {
11+ pname = "easyeda2ato" ;
12+ version = "0.2.7" ;
13+ pyproject = true ;
14+
15+ # repo version does not match
16+ src = fetchPypi {
17+ inherit pname version ;
18+
19+ hash = "sha256-bHhBN+h9Vx9Q4wZVKxMzkEEXzV7hKoQz8i+JpkSFsYA=" ;
20+ } ;
21+
22+ build-system = [ setuptools ] ;
23+
24+ dependencies = [
25+ pydantic
26+ requests
27+ ] ;
28+
29+ pythonImportsCheck = [ "easyeda2kicad" ] ;
30+
31+ doCheck = false ; # no tests
32+
33+ meta = {
34+ description = "Convert any LCSC components (including EasyEDA) to KiCad library" ;
35+ homepage = "https://github.com/uPesy/easyeda2kicad.py" ;
36+ changelog = "https://github.com/uPesy/easyeda2kicad.py/releases/tag/v${ version } " ;
37+ license = lib . licenses . agpl3Only ;
38+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
39+ mainProgram = "easyeda2kicad" ;
40+ } ;
41+ }
Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchFromGitHub ,
5+ setuptools ,
6+ docopt-subcommands ,
7+ future ,
8+ pytestCheckHook ,
9+ hypothesis ,
10+ } :
11+
12+ buildPythonPackage {
13+ pname = "eseries" ;
14+ version = "1.2.1-unstable-2023-12-17" ;
15+ pyproject = true ;
16+
17+ src = fetchFromGitHub {
18+ owner = "rob-smallshire" ;
19+ repo = "eseries" ;
20+ rev = "3becd72de8b1b533b4a637169022231271a934fb" ; # no tags
21+ hash = "sha256-iQBh4L+t24pOBh86wEqu5e6/RUmTQdCX+rOV/H2ywaY=" ;
22+ } ;
23+
24+ build-system = [ setuptools ] ;
25+
26+ dependencies = [
27+ docopt-subcommands
28+ future
29+ ] ;
30+
31+ pythonImportsCheck = [ "eseries" ] ;
32+
33+ nativeCheckInputs = [
34+ pytestCheckHook
35+ hypothesis
36+ ] ;
37+
38+ meta = {
39+ description = "Find value in the E-series used for electronic components values" ;
40+ homepage = "https://github.com/rob-smallshire/eseries" ;
41+ license = lib . licenses . mit ;
42+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
43+ mainProgram = "eseries" ;
44+ } ;
45+ }
Original file line number Diff line number Diff line change 1+ {
2+ lib ,
3+ buildPythonPackage ,
4+ fetchFromGitHub ,
5+ pdm-backend ,
6+ pyhumps ,
7+ quart ,
8+ msgspec ,
9+ attrs ,
10+ pytestCheckHook ,
11+ pytest-asyncio ,
12+ pydantic ,
13+ hypothesis ,
14+ } :
15+
16+ buildPythonPackage rec {
17+ pname = "quart-schema" ;
18+ version = "0.21.0" ;
19+ pyproject = true ;
20+
21+ src = fetchFromGitHub {
22+ owner = "pgjones" ;
23+ repo = "quart-schema" ;
24+ tag = version ;
25+ hash = "sha256-FpjnhSTkjskCxT874ABrD3Zew4g4R977xaYvJhVTDxw=" ;
26+ } ;
27+
28+ build-system = [ pdm-backend ] ;
29+
30+ dependencies = [
31+ pyhumps
32+ quart
33+ msgspec
34+ attrs
35+ ] ;
36+
37+ pythonImportsCheck = [
38+ "quart"
39+ "quart_schema"
40+ ] ;
41+
42+ nativeCheckInputs = [
43+ pytestCheckHook
44+ pytest-asyncio
45+ pydantic
46+ hypothesis
47+ ] ;
48+
49+ preCheck = ''
50+ substituteInPlace pyproject.toml \
51+ --replace-fail "--no-cov-on-fail" ""
52+ '' ;
53+
54+ meta = {
55+ description = "Create subcommand-based CLI programs with docopt" ;
56+ homepage = "https://github.com/abingham/docopt-subcommands" ;
57+ license = lib . licenses . mit ;
58+ maintainers = with lib . maintainers ; [ sigmanificient ] ;
59+ } ;
60+ }
You can’t perform that action at this time.
0 commit comments