![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
bateman is an extension of npm cards, which allows you to remotely fetch a `card.json` file and display it prettily as a npm card.
bateman is an extension of npm cards, which allows you to remotely fetch a card.json
file and display it prettily as a npm card.
To use bateman with npx
. The <url>
must be a website HTTPS which has a file located at the path <url>/card.json
.
npx bateman <url>
To install bateman globally, you can use the following command:
npm i -g bateman
Once installed globally, then you can use bateman to call a URL that has published a card.json
. This URL must be HTTPS.
bateman <url>
card.json
bateman expects a card.json
file. If you want to have your own card, you'll have to publish such a file on a website. Note that bateman is not particularly strict about where cards are published, but it is opinionated on how they are published. Some details:
card.json
.card.json
file must return a 200 OK HTTP response.
card.json
with an HTTP redirect.Here's the structure of a card.json
file:
name
String (required) - Your namehandle
String (required) - Your preferred online handlewebsite
String (required) - Your websitepronouns
String (required) - Your pronounswork
Object (optional) - An object that holds some metadata about your work
title
String (optional) - Your title at your workcompany
String (optional) - The company you work atcode
Object (optional) - Some links that specifically refer to code-focused websites
npm
String (optional) - Link to your account on npmgithub
String (optional) - Link to your account on GitHubsocial
Object (optional) - Links to your social Media
twitter
String (optional) - Link to your Twitter accountinstagram
String (optional) - Link to your Instagram accountsnapchat
String (optional) - Link to your Snapchat accountfacebook
String (optional) - Link to your Facebook accounttwitch
String (optional) - Link to your Twitch accounttiktok
String (optional) - Link to your TikTok accounttumblr
String (optional) - Link to your Tumblr accountspotify
String (optional) - Link to your Sptofiy accountyoutube
String (optional) - Link to your YouTube accountvimeo
String (optional) - Link to your Vimeo accountlinkedin
String (optional) - Link to your LinkedIn accountproofs
Object (optional) - Things that prove you're you
keybase
String (optional) - Link to your Keybase accountsupport
Object (optional)
patreon
String (option) - Link to your PatreongithubSponsors
String (option) - Link to your GitHub Sponsors pageopenCollective
String (option) - Link to an Open CollectiveHere's a minimal example using only required properties:
{
"name": "Yours Truly",
"handle": "yt",
"website": "https://yt.blog",
"pronouns": "she/her"
}
Here's an example of a completely filled out card.json
:
{
"name": "Hiro Protagonist",
"handle": "protagonist",
"website": "https://hiro.protagonist.org",
"pronouns": "he/him",
"work": {
"title": "Delivery Advocate",
"company": "Mafia"
},
"code": {
"npm": "https://npm.im/~protagonist",
"github": "https://github.com/protagonist"
},
"social": {
"twitter": "https://twitter.com/protagonist",
"instagram": "https://instagram.com/protagonist",
"snapchat": "https://snapchat.com/add/protagonist",
"facebook": "https://facebook.com/protagonist",
"twitch": "https://twitch.tv/protagonist",
"tiktok": "https://tiktok.com/protagonist",
"tumblr": "https://protagonist.tumblr.com",
"spotify": "https://open.spotify.com/user/01101000011100100110100101101111",
"youtube": "https://youtube.com/protagonist",
"vimeo": "https://vimeo.com/protagonist",
"linkedin": "https://linkedin.com/in/protagonist/"
},
"proofs": {
"keybase": "https://keybase.io/protagonist"
},
"support": {
"patreon": "https://patreon.com/protagonist",
"githubSponsors": "https://github.com/sponsors/protagonist",
"openCollective": "https://opencollective.com/protagonist"
}
}
The current schema is by no means "complete". I'm sure there are a bunch of things that could be added that are relevant to folks outside of the spaces I participate in, or tweaks that could be made to imrpove the existing schema.
If you'd like to contribute an addition, by all means please do. Here's a quick list of things you'll need to do:
helpers/fetch.js
with the appropriate changeshelpers/output.js
with the appropriate changesREADME.md
Publishing a card.json file
sectiontests/cards/
Enhancements to the codebase are more than welcome. Adding features would be awesome, as would enhancements to the codebase. If you're looking to add some features, here's some ideas:
card.json
generator tool, similar to npm init
. Perhaps bateman create
.card.json
validator tool to ensure that a card is valid. This should both accept local paths and remote files. Perhaps it could be bateman validate
.FAQs
bateman is an extension of npm cards, which allows you to remotely fetch a `card.json` file and display it prettily as a npm card.
We found that bateman demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.