Skip to content

Commit c398459

Browse files
committed
add dephell (closes #9)
1 parent 0ca2a82 commit c398459

File tree

5 files changed

+50
-15
lines changed

5 files changed

+50
-15
lines changed

backend/githubData.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ const tools = [
1515
name: "conda",
1616
owner: "conda",
1717
},
18+
{
19+
name: "dephell",
20+
owner: "dephell",
21+
},
1822
{
1923
name: "flit",
2024
owner: "takluyver",

frontend/src/App.tsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import { RecoilRoot, useRecoilValue } from 'recoil';
1414

1515
function FeatureFilters() {
1616
return (
17-
<>
17+
<div className="w-full mx-auto max-w-xl text-center">
1818
{features.map((feature: Feature, i) => (
1919
<FeatureFilter key={i} feature={feature} />
2020
))}
21-
</>
21+
</div>
2222
);
2323
}
2424
const githubLogo = (
@@ -74,12 +74,22 @@ function App() {
7474
</div>
7575
</div>
7676
</nav>
77-
<div className="container w-full mx-15">
77+
<div className="">
7878
<FeaturesAndTable />
7979
</div>
80+
<div className="my-24 text-lg">
81+
<div className="font-bold mx-auto text-center">
82+
Missing something?
83+
</div>
84+
<div>
85+
<a href="https://github.com/cs01/python-packaging-tools">
86+
File an Issue or Pull Request on GitHub.
87+
</a>
88+
</div>
89+
</div>
8090
<footer className="w-full flex items-center bg-black mt-20 h-64 text-white ">
81-
<div className="w-full text-xl text-center text-blue-800">
82-
a <a href="http://grassfedcode.com">grassfedcode.com</a> project
91+
<div className="w-full text-xl text-center text-white">
92+
<a href="http://grassfedcode.com">a grass fed code project</a>
8393
</div>
8494
</footer>
8595
</div>

frontend/src/Tools.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ export function FeatureFilter(props: { feature: Feature }) {
175175
<button
176176
className={
177177
(filterIsOn ? `bg-blue-400 text-xs` : `bg-blue-200 text-xs`) +
178-
' hover:bg-blue-200 m-1 p-1 rounded-md '
178+
' m-1 p-1 rounded-md '
179179
}
180180
onClick={() => {
181181
if (filterIsOn) {
@@ -197,13 +197,17 @@ export function getTableData(
197197
return toolData
198198
.map((data) => ({
199199
...data,
200-
name: data.url ? <a href={data.url}>{data.name}</a> : data.name,
201-
featureLinks: data.features.map((f, i) => (
202-
<FeatureFilter key={i} feature={f} />
203-
)),
200+
name: (
201+
<div className="font-bold text-lg">
202+
{data.url ? <a href={data.url}>{data.name}</a> : data.name}
203+
</div>
204+
),
205+
featureLinks: data.features
206+
.sort()
207+
.map((feature, i) => <FeatureFilter key={i} feature={feature} />),
204208
description: <div className="text-left">{data.description}</div>,
205209
toolDescription: <div className="text-left">{data.toolDescription}</div>,
206-
dependsOn: data.dependsOn.join(', '),
210+
dependsOn: data.dependsOn.sort().join(', '),
207211
useCases: data.useCases.join(', '),
208212
timeSinceCreated: data.createdAt
209213
? DateTime.fromISO(data.createdAt).toFormat('MMMM, y')

frontend/src/Types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export type Feature =
4242
| 'virtual environment management'
4343
| 'package manager'
4444
| 'ecosystem'
45+
| 'convert between lockfile formats'
4546
| 'PEP-518'
4647
| 'PEP-517';
4748

@@ -60,6 +61,7 @@ export const features: Feature[] = [
6061
'manual virtual environment creation',
6162
'virtual environment management',
6263
'package manager',
64+
'convert between lockfile formats',
6365
'ecosystem',
6466
'PEP-517',
6567
'PEP-518',

frontend/src/initialToolData.tsx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,22 @@ const _initialToolData: Tool[] = [
3333
dependsOn: [],
3434
},
3535
{
36-
features: ['build packages'],
36+
features: [
37+
'virtual environment management',
38+
'install cli apps',
39+
'dependency resolver',
40+
'install libraries',
41+
'build packages',
42+
'convert between lockfile formats',
43+
],
44+
name: 'dephell',
45+
toolDescription:
46+
'dephell includes numerous project management functions: Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.',
47+
useCases: [],
48+
dependsOn: ['venv', 'virtualenv', 'pip'],
49+
},
50+
{
51+
features: ['build packages', 'PEP-517'],
3752
name: 'python-build',
3853
toolDescription:
3954
'A simple, correct PEP517 package builder. python-build will invoke the PEP 517 hooks to build a distribution package. It is a simple build tool, it does no dependency management.',
@@ -131,7 +146,7 @@ const _initialToolData: Tool[] = [
131146
features: ['manual virtual environment creation'],
132147
name: 'virtualenv',
133148
toolDescription:
134-
'A tool for creating isolated virtual (isolated) python environments. This is essentially a 3rd party package that duplicates the standard libary venv module.',
149+
'A tool for creating isolated virtual Python environments. This is essentially a 3rd party package that duplicates the standard libary venv module. It predates venv, and works for all Python versions, including < 3.5 when venv was introduced.',
135150
useCases: [],
136151
dependsOn: [],
137152
},
@@ -155,15 +170,15 @@ const _initialToolData: Tool[] = [
155170
{
156171
features: ['build packages'],
157172
toolDescription:
158-
'Setuptools is a fully-featured, actively-maintained, and stable library designed to facilitate packaging Python projects. setuptools builds redistributable packages from source, but does not publish them to PyPI.',
173+
"Setuptools is a fully-featured, actively-maintained, and stable library to build redistributable packages from source, but does not publish them to PyPI. It provides the function that is called in the setup.py files you've probably seen before.",
159174
useCases: [],
160175
dependsOn: [],
161176
name: 'setuptools',
162177
},
163178
{
164179
features: ['manual virtual environment creation', 'standard library'],
165180
toolDescription:
166-
'The venv module provides support for creating lightweight “virtual environments” with their own site directories, optionally isolated from system site directories. Each virtual environment has its own Python binary (which matches the version of the binary that was used to create this environment) and can have its own independent set of installed Python packages in its site directories.',
181+
"The venv module provides support for creating lightweight “virtual environments” with their own site directories, optionally isolated from system site directories. Each virtual environment has its own Python binary (which matches the version of the binary that was used to create this environment) and can have its own independent set of installed Python packages in its site directories. venv was introduced in Python 3.5 to adopt the 3rd party library virtualenv into CPython's standard library.",
167182
useCases: [],
168183
dependsOn: [],
169184
createdAt: '2015-09-13T00:00:00Z',

0 commit comments

Comments
 (0)