Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
cdli-api-client
Advanced tools
Client for CDLI framework API.
A prerequisite for this client is Node.JS and a package manager like npm, which usually comes with it.
npm install -g cdli-api-client
Or install it locally into an existing project:
npm install cdli-api-client
Alternatively, the command can be run with npx:
npx cdli-api-client --help
Right now, the client supports two basic operations:
cdli [command]
Commands:
cdli export Export catalog and text data
cdli search Export catalog and text data
Options:
--version Show version number [boolean]
--host, -h Host URL to use for API calls
[string] [default: "https://cdli.mpiwg-berlin.mpg.de/"]
--format, -f File format
[choices: "ndjson", "csv", "tsv", "ntriples", "bibtex", "atf"]
--output-file, -o Output file (outputs to stdout by default)
--help Show help [boolean]
cdli export
Export catalog and text data
Options:
--version Show version number [boolean]
-h, --host Host URL to use for API calls
[string] [default: "https://cdli.mpiwg-berlin.mpg.de/"]
-f, --format File format
[choices: "ndjson", "csv", "tsv", "ntriples", "ttl", "bibtex", "atf"]
-o, --output-file Output file (outputs to stdout by default)
--help Show help [boolean]
-e, --entities Which types of entities to fetch
[array] [choices: "abbreviations", "archives", "artifacts", "artifact-assets",
"artifacts-external-resources", "artifacts-materials",
"entities-external-resources", "entities-names", "authors", "collections",
"dynasties", "external-resources", "genres", "inscriptions", "journals",
"languages", "locations", "materials", "material-aspects", "material-colors",
"periods", "places", "proveniences", "publications", "regions", "rulers"]
[default: []]
-i, --index Which index(es) to fetch [array] [default: []]
So to export place-related entities from a locally-running framework instance you could do this:
cdli export \
--host http://localhost:2354/ \
--entities archives proveniences regions \
--output-file places.nt
Fetching all artifacts from the live server could look like this:
cdli export \
--host https://cdli.mpiwg-berlin.mpg.de/ \
--entities artifacts \
--format csv \
--output-file artifacts.csv
Export all linked data:
cdli export \
--host https://cdli.mpiwg-berlin.mpg.de/ \
--entities abbreviations archives artifacts artifact-assets \
artifacts-external-resources artifacts-materials authors collections \
dynasties entities-external-resources entities-names external-resources \
genres inscriptions journals languages locations materials material-aspects \
material-colors periods places proveniences publications regions rulers \
--format ntriples \
--output-file all.nt
cdli search
Search artifacts in the catalog
Simple search:
-q, --query Search query [array]
--queryCategory, --qc Search category
[array] [choices: "keyword", "publication", "collection", "provenience",
"period", "transliteration", "translation", "id"]
--queryOperator, --qo Search operator [array] [choices: "AND", "OR"]
Advanced search:
--advancedField, --af Search field [array]
--advancedQuery, --aq Search query [array]
Filter:
--filterField, --fk Filter by field [array]
--filterValue, --fv Filter by value [array]
Options:
--version Show version number [boolean]
-h, --host Host URL to use for API calls
[string] [default: "https://cdli.mpiwg-berlin.mpg.de/"]
-f, --format File format
[choices: "ndjson", "csv", "tsv", "ntriples", "bibtex", "atf"]
-o, --output-file Output file (outputs to stdout by default)
--help Show help [boolean]
Example:
cdli search -q holland --fk genre --fv "Official or display" -f tsv
const CDLI = require('cdli-api-client')
const client = new CDLI.Client('http://localhost:2354/')
// process logging
client.on('log', msg => process.stderr.write(msg))
client.export(['archives', 'proveniences', 'regions' ], 'places.nt')
.then(entities => {
for (const { status, reason } of entities) {
if (status === 'rejected') {
console.error(reason)
}
}
})
FAQs
A client for the CDLI REST API
We found that cdli-api-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.