- Endpoints
- HTTP API
- ETS registry format (Deprecated)
- New registry format
- Tarball format
- Package metadata
- purl (Package URL) format
To host a repository only the Repository endpoint has to be implemented.
Specifications for using and implementing Hex protocols
To host a repository only the Repository endpoint has to be implemented.
See hexpm/hex_core#45.
The readme says, "To host a repository only the CDN endpoint has to be implemented." I don't see anything called the CDN endpoint in the documentation.
This would be an optional endpoint that a repository might implement. It would be used by e.g. mix hex.docs fetch foo 1.0.0 --repo acme
to download the docs tarball. (Note, we don't yet have --repo
on mix hex.docs
.)
Another option would be for mix hex.docs fetch --repo
to instead use the HTTP API /packages/:name/releases/:version/docs
endpoint for custom repos but that doesn't seem ideal either.
For example what is needed for mix deps.get
or what is needed for mix hex.publish
.
Ref: hexpm/hexpm#454 (comment)
Currently it looks like List all Packages and Fetch a Package endpoints have the same shape, however for the search we want to return less data for releases (just version
and url
) keys.
(Edit: I've updated issue description to point to the exact endpoints)
https://gist.github.com/ericmj/36bf9e64c0566dfad277
The new registry format file size is 33% of the ets file and 60% of the size when gzipped (with a registry built from hex.pm on 2016-03-12).
/cc @hexpm/contributors @hexpm/rebar3
Hello! I've been using the remove key endpoint and it seems to return 200, while the documentation says it should be 204. Are the docs out of date?
Currently HEX API requires authorization: <token>
as api header, it should support normal Bearer
token as other API's will do.
eg
curl --include \
--header "Accept: application/json" \
--header "Authorization: Bearer <token>" \
'https://private-anon-d3fb121a9d-hexpm.apiary-mock.com/packages?sort=&search='
no longer needs authentication
There appears to be another special key '$$installs2$$' which probably needs documentation as it's unclear how to interpret it.
Hi. I spotted that there are some properties in the Hex API responses that aren't in the documentation:
latest_stable_version
(string)latest_version
(string)configs
(object)retirements
(object)appear in the API responses but not in the corresponding docs
The JSON data (application/vnd.hex+json) delivered by
is not documented.
While most of the fields delivered can be guessed, some are not obvious. Some examples:
null
mean here)Beside a description of the fields, it would be nice to have a specification one can rely on.
(FYI: I'm building a importer from hex.pm packages into guix, for which I need to query this data.)
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.