darvid / hydrogen Goto Github PK
View Code? Open in Web Editor NEWLightweight pip wrapper with bower support and an opinionated, npm-like workflow.
Home Page: http://darvid.github.io/projects/hydrogen/
License: BSD 2-Clause "Simplified" License
Lightweight pip wrapper with bower support and an opinionated, npm-like workflow.
Home Page: http://darvid.github.io/projects/hydrogen/
License: BSD 2-Clause "Simplified" License
So I have some thoughts floating around for how I'd like to do this, and a very primitive skeleton of what I think I'd like the structure of Hydrogen to look like is in next.
I'll try not to make this too exhaustive, but I have a few goals and related use cases that would be nice to have, and easier to implement in code that isn't 2 years old, undocumented, and only half working:
BasePackageManager
and BasePackageRequirement
ABCs.make requirements
is run whenever requirements change, or in CI. Both source and "compiled" requirements files are stored in VCS.requirements.yml
file, and Hydrogen would build separate requirements files, and optionally resolve dependencies recursively with pip-tools (and generate a sweet annotated requirements file as well).In terms of package managers, we should probably add plain old NPM/package.json
support in addition to Bower.
/thread
I know I'm making a bunch of noise about a project you've probably not thought about in quite a while, and if you would prefer, I'll be happy to fork this and maintain that, but...
In current HEAD, there exists a problem with creating the default requirements.yml from output of pip freeze
, rather than from reading in a requirements.txt. I intend to fix the issue, but I wanted to open this issue to track it.
The setup:
Create an empty directory and cd
to it. Initialize an empty virtualenv/pyenv. Run hydrogen install --save pylama
.
The problem:
GroupedRequirements.load_pip_requirements
calls an instance of Requirements.load
using the output of pip freeze
as the filename
parameter. This fails because Requirements.load
attempts to open
this parameter.
The fix:
Lolidunno. I'm still learning the code, so I'm not sure what the easiest way to fix this is. Obviously , we need the pip freeze
output to instantiate a number of requirements, but I haven't dug deep enough to figure out where that happens yet (or if I need to create a function that does it explicitly for this purpose)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.