Skip to main content

tools for converting git repository data into data tables

Project description

nitwit

tools for converting git repository data into data tables

Python Interface

# specify repo(s), using path(s) or url(s)
repo = '/path/to/git/repo'
repo = 'https://github.com/author_name/repo_name'
repo = [
    '/path/to/git/repo1',
    '/path/to/git/repo2',
    'https://github.com/author_name1/repo_name2',
    'https://github.com/author_name1/repo_name2',
]

commits = nitwit.commits(repo)
authors = nitwit.authors(repo)
file_diffs = nitwit.file_diffs(repo)

Table Schemas

commits

- hash: String
- author: String
- email: String
- timestamp: DateTime('ms')
- message: String
- parents: String
- committer: String
- committer_email: String
- commit_timestamp: DateTime('ms')
- tree_hash: String
- repo: String

authors

- name: String
- email: String
- n_commits: Int64
- n_changed_files: Int64
- insertions: Int64
- deletions: Int64
- first_commit_timestamp: DateTime('ms')
- last_commit_timestamp: DateTime('ms')
- n_repos: Int64

file_diffs

- hash: String
- insertions: Int64
- deletions: Int64
- path: String
- repo: String

repos

- repo: String
- n_files: Int64
- n_commits: Int64
- n_authors: Int64
- first_commit_timestamp: DateTime('ms')
- last_commit_timestamp: DateTime('ms')

github_user_metadata

- login: String
- id: Int64
- node_id: String
- avatar_url: String
- gravatar_id: String
- url: String
- html_url: String
- followers_url: String
- following_url: String
- gists_url: String
- starred_url: String
- subscriptions_url: String
- organizations_url: String
- repos_url: String
- events_url: String
- received_events_url: String
- type: String
- user_view_type: String
- site_admin: Boolean
- name: String
- company: String
- blog: String
- location: String
- email: String
- hireable: Boolean
- bio: String
- twitter_username: String
- public_repos: Int64
- public_gists: Int64
- followers: Int64
- following: Int64
- created_at: DateTime('ms')
- updated_at: DateTime('ms')

github_repo_metadata

- id: Int64
- node_id: String
- name: String
- full_name: String
- private: Boolean
- owner: Struct
    - login: String
    - id: Int64
    - node_id: String
    - avatar_url: String
    - gravatar_id: String
    - url: String
    - html_url: String
    - followers_url: String
    - following_url: String
    - gists_url: String
    - starred_url: String
    - subscriptions_url: String
    - organizations_url: String
    - repos_url: String
    - events_url: String
    - received_events_url: String
    - type: String
    - user_view_type: String
    - site_admin: Boolean
- html_url: String
- description: String
- fork: Boolean
- url: String
- forks_url: String
- keys_url: String
- collaborators_url: String
- teams_url: String
- hooks_url: String
- issue_events_url: String
- events_url: String
- assignees_url: String
- branches_url: String
- tags_url: String
- blobs_url: String
- git_tags_url: String
- git_refs_url: String
- trees_url: String
- statuses_url: String
- languages_url: String
- stargazers_url: String
- contributors_url: String
- subscribers_url: String
- subscription_url: String
- commits_url: String
- git_commits_url: String
- comments_url: String
- issue_comment_url: String
- contents_url: String
- compare_url: String
- merges_url: String
- archive_url: String
- downloads_url: String
- issues_url: String
- pulls_url: String
- milestones_url: String
- notifications_url: String
- labels_url: String
- releases_url: String
- deyments_url: String
- created_at: String
- updated_at: String
- pushed_at: String
- git_url: String
- ssh_url: String
- clone_url: String
- svn_url: String
- homepage: String
- size: Int64
- stargazers_count: Int64
- watchers_count: Int64
- language: String
- has_issues: Boolean
- has_projects: Boolean
- has_downloads: Boolean
- has_wiki: Boolean
- has_pages: Boolean
- has_discussions: Boolean
- forks_count: Int64
- mirror_url: Null
- archived: Boolean
- disabled: Boolean
- open_issues_count: Int64
- license: Struct
    - key: String
    - name: String
    - spdx_id: String
    - url: String
    - node_id: String
- allow_forking: Boolean
- is_temte: Boolean
- web_commit_signoff_required: Boolean
- topics: List(String)
- visibility: String
- forks: Int64
- open_issues: Int64
- watchers: Int64
- default_branch: String
- permissions: Struct
    - admin: Boolean
    - maintain: Boolean
    - push: Boolean
    - triage: Boolean
    - pull: Boolean
- custom_properties: Struct
    - last_reviewed: String
    - team: List(String)
- organization: Struct
    - login: String
    - id: Int64
    - node_id: String
    - avatar_url: String
    - gravatar_id: String
    - url: String
    - html_url: String
    - followers_url: String
    - following_url: String
    - gists_url: String
    - starred_url: String
    - subscriptions_url: String
    - organizations_url: String
    - repos_url: String
    - events_url: String
    - received_events_url: String
    - type: String
    - user_view_type: String
    - site_admin: Boolean
- network_count: Int64
- subscribers_count: Int64

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nitwit-0.1.1.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nitwit-0.1.1-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file nitwit-0.1.1.tar.gz.

File metadata

  • Download URL: nitwit-0.1.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for nitwit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fdbe040e9155575b8ef18a73e486a26524b0ce35d3933d78b91f238d0f8358e2
MD5 494eda7c47543256bc1f79eb39550827
BLAKE2b-256 be10d1c1c77f4e47214cbfe6288581c1272f7e338eae6b5463bd92c1ab97a92a

See more details on using hashes here.

File details

Details for the file nitwit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nitwit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for nitwit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0f42b700c232a91860324e61464643e9430a4db519c0a7ce8657e6feb959ea05
MD5 7bff0633cf91e8cbf42cf332b617582f
BLAKE2b-256 6fc6be2eede619d5b7e31edccd23d320cef0cfa2748d07f20bf41a215f447620

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page