npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

eu-parliment-votes-sdk

v1.9.8

Published

eu-parliment-votes-sdk ` is a library that provides a simple interface to the EU Parliment API.

Downloads

29

Readme

eu-parliment-votes-sdk

This is a project that aims to simply the access to EU parliment data.
The data is open but certain API's only return html or pdf which is not often the easiest format for developers to build on top of.
The goal of this package is to simplify this and return everything as simple method call.

Examples

TODO

Data Objects

Vote information

    export interface DocumentVote {
        ID: string; // ID of the proposal
        title: string; // Title of the porposal
        votes: Array<Vote>; // List of votes on the proposal
        finalVote: number; // Index of the final vote in the votes array
        date?: Date; // Date of the vote
    }

    export interface Vote {
        proposalID: string; // ID of the proposal
        title: string; // Title of the vote and the ammendment if applicable
        result: VoteResults; // Results of the vote
    };

    export interface VoteResults {
        positive: Array<number>; // List of mep ids that voted yes
        negative: Array<number>; // List of mep ids that voted no
        abstention: Array<number>; // List of mep ids that abstained
        noVote: Array<number>; // List of mep ids that did not vote
    };

Document information

    export interface Document {
        id: string;
        content?: string;
        contentRaw: string;
        summary?: Summary;
        type: DocumentType;
        url: string;
    }

    interface Summary {
        summary: string;
        tags: string[];
    }

Meps Information

    export interface Mep {
        id: number;
        img: string;
        fullName: string;
        account: AccountType[];
        citizenship: string;
        homepage: string;
        email: string;
        party: string;
        bday: Date;
        age: number;
        country: Country;
        memberships: Membership[];
    }

    interface AccountType {
        type: string;
        url: string;
    };

    interface Country  {
        commonCame: string;
        officialName: string;
        flag: string;
    };

    export interface Membership  {
        corporateBody: string | undefined;
        role: string;
        org: string;
        startDate: Date;
        // End date is undefined if the mep is still a member of the corporate body
        endDate: Date | undefined;
    };

    interface Meps  {
        meps: Array<Mep>;
        term?: number; // The term number
        withDetails?: boolean; // Whether to load details
        withData?: boolean; // Whether to load membership data  
    };

Sources of data

Meps Data - https://data.europarl.europa.eu/api/v1/meps/ + custom data enrichment Document Data - https://www.europarl.europa.eu/doceo/document

Extra

Explain the cache function and why it is necessary Improve error handle to further improve visibility on api's rate limits

Future

This section contains concepts of the eu parliment vote to further extend this project:

  • [ ] Videos from the plenary
  • [ ] Transcripts from the plenary
  • [ ] Information about the development of the proposals