Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tag Versions by Date & Publish to NPM #5

Open
openhouse opened this issue Nov 27, 2020 · 0 comments
Open

Tag Versions by Date & Publish to NPM #5

openhouse opened this issue Nov 27, 2020 · 0 comments

Comments

@openhouse
Copy link

The latest version of this repository would always contain a JSON file which lists the current City Council members, their attribute details, and relationships to districts.

Whenever the makeup of the City Council or member attributes change, tag new versions by the date such as "2020.11.27" (YYYY.M.D) and publish to NPM. This would enable civicly-minded software developers to make projects which are tied to the makeup of the City Council at a point in time.

For example I could build a project which refers to the makeup of the Council at a published date "2020.11.27" (if there was a version published today), between a range of dates ">=2020.1.1 <=2020.12.31", etc as fitting for the project using NPM semver syntax. https://docs.npmjs.com/cli/v6/using-npm/semver

All you have to do is tag each published version with the date.

Again, pointing to the latest version of this repository would always yield the current makeup of the City Council.

Publishing the City Council district data as a JavaScript module package to NPM would enable a large number of JavaScript developers to use the basic data of the City Council's makeup and members' relationships to districts in their development workflows using the most widely adopted and well established web technologies.

Publishing the data to NPM as a JavaScript module will require creating a simple package.json file with the current version number as well as tagging the git repository with the version number. The "main" attribute in package.json would point to your data JSON file as in this line of CivilService's example: https://github.com/CivilServiceUSA/city-council-ny-new-york/blob/1b1a126ee55219061b46b27b262a841608653437/package.json#L38

Adding a package.json file enables JS developers to consume the data without limiting the data's use to a single language or any other way. Let us know if more examples for creating a package.json file would be helpful. https://nodejs.org/api/packages.html#packages_package_entry_points

Sadly CivilService's data is not being maintained up to date. I am grateful to the New York City Council for bringing their institutional weight and longevity to publishing and maintaining this foundational dataset reliably. This step encourages an ecosystem of digital creators to facilitate broader public understanding of our democracy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant