Nick DeRobertis

Open-Source Software

I am a strong believer in free and open-source software. Explore my projects for finance, research, data, and Python.

Open-source projects
72
Lines of code
187,998
Commits
7,105

pysentiment2

Python Dictionary-Based Sentiment Analysis

Python dictionary-based sentiment analysis. Includes Harvard IV-4 and Loughran and McDonald Financial Statement dictionaries.

Lines of code
459
Commits
23

datacode

Python Tools for Working with Data

Data pipelines for humans. Work with variables, sources, and pipelines rather than raw data. Also includes high-level tools to analyze, summarize, and transform data.

Lines of code
12,700
Commits
403

pd_utils

Python Pandas Functions

High-level tools for common Pandas workflows

Lines of code
3,095
Commits
114

pyexlatex

Python Extends LaTeX

Create LaTeX documents using only Python. Rather than building a direct Python API to LaTeX, this package has its own, simpler API to creating documents. It is focused on creating professional-looking documents with little styling effort. It currently supports documents, presentations, graphics, letters, and resumes. All my papers, presentations, and even my CV are generated using py-ex-latex.

Lines of code
14,603
Commits
514

regtools

Python Regression Framework

High-level tools for running regressions. Handles fixed effects, 2+ way clustering, hypothesis testing, lagged variables, differenced variables, interaction effects, iteration tools, and producing summaries for a variety of models including OLS, Logit, Probit, Quantile, and Fama-Macbeth.

Lines of code
3,109
Commits
81

pyfileconf

Python Flow Configuration Manager

py-file-conf is a Python framework for flow-based programming and managing configuration. To use it, you register your main functions and classes, and config files are created automatically for them. It provides a way to run these functions individually, in a list, in sections, or a combination thereof. Configuration can be dynamically updated, enabling powerful scripting.

Lines of code
8,085
Commits
436

mixins

Python Mixin Classes

This is package includes Mixin classes which may be added to your own project classes to add certain functionality to them.

Lines of code
397
Commits
38

pypi-sphinx-quickstart

pypi-sphinx-quickstart

Quick start a Python package hosted on PyPi with Sphinx auto documentation hosted on Github pages

Lines of code
269
Commits
269

dstream_excel

Datastream Excel Downloader

Use this tool to drive Excel using the Thompson Reuters Eikon plugin to download Datastream data. Useful for downloading large amounts of data.

Lines of code
1,236
Commits
37

exceldriver

Python Excel Driver

A tool used to work with Excel from Python. It currently mainly handles starting and stopping Excel, and getting the active Excel instance and workbook so that COM commands can be run on them.

Lines of code
376
Commits
14

capiq_excel

Capital IQ Excel Downloader

A tool to drive Excel using the Capital IQ plugin to download Capital IQ data. Useful for downloading large data sets from Capital IQ.

Lines of code
1,307
Commits
54

processfiles

Python File Processor

Use this tool to select files of given file types in a folder, and track whether these files have been processed, regardless of whether the script needs to be run multiple times. Stores progress on the files as a text file in the same folder, so that a long-running operation on many files can be resumed where it left off if it was stopped. It will also automatically estimate time to completion.

Lines of code
386
Commits
15

fin_model_course

Financial Modeling Course

Financial modeling course using Python and Excel.

Lines of code
19,513
Commits
487

plbuilder

Py-ex-latex Builder

Document building framework built on Pyexlatex.

Lines of code
728
Commits
67

edgarapi

Python SEC EDGAR API

Download filings from SEC's Edgar using Python.

Lines of code
294
Commits
8

projectreport

Project Report

A set of tools for describing software projects. Finds software projects, analyzes them, and outputs reports. This package helped generate this list of software projects.

Lines of code
3,069
Commits
175

cryptocompsdk

Cryptoasset Data Downloader

A Python SDK for the CryptoCompare APIs which require an API key. Allows downloading price history, social information, and blockchain information for cryptoassets.

Lines of code
3,506
Commits
89

repo_splitter

Repository Splitter

This is a GUI, Python, CLI tool for splitting repos. If you have a part of a repo which you would now like to be a separate repo, and you would like to separate the history of the two repos such that the new repo contains commits referencing its files and any references to those files in the old repo have been removed, then this is the tool for you.

Lines of code
1,467
Commits
56

finstmt

Python Financial Statement Tools

Work with financial statement data in Python. Can calculate free cash flows and help project financial statements, automatically balancing the balance sheet.

Lines of code
5,361
Commits
438

pypi-latest-version-action

Github Actions Python Project Version

Github Action for getting the latest version of a PyPI package.

Lines of code
36
Commits
13

{{cookiecutter.repo_name}}

Python Project Template

A template to use for starting a new Python package which is hosted on PyPi and uses Sphinx for documentation hosted on Github pages. It has a built-in CI/CD system using Github Actions.

Lines of code
288
Commits
38

{{ repo_name }}

Copier Template for a PyPI package documented with Sphinx and updated with Flexlate

Lines of code
57
Commits
228

check-if-issue-exists-action

Github Actions Check Issue Existence

Github Action for checking whether a Github issue already exists.

Lines of code
109
Commits
11

bibtex_gen

LaTeX Bibliography Generator

Generate BibTeX reference objects from DOIs and strings

Lines of code
387
Commits
17

objcache

Python Object Cache

A very simple API to storing Python objects built on ZODB. Use the .store method to store an object at a path, and .get to retrieve an object from a path.

Lines of code
377
Commits
13

sensitivity

Python Sensitivity Analysis

Python sensitivity analysis - run models with varying inputs to produce visualizations including gradient DataFrames and hex-bin plots

Lines of code
673
Commits
57

py-research-workflows

Python Research Workflows Website

A website containing examples of data munging, analysis, and presentation in Python.

Lines of code
239
Commits
11

transforms_fin

Financial Data Transforms

A set of Transforms meant for financial analysis to be used with the datacode package

Lines of code
367
Commits
14

src

dash_keyed_file_browser

Dash Component for react-keyed-file-browser

Lines of code
5,915
Commits
13

gharchive

Python Github Archive Downloader

Python SDK to access Github Archive

Lines of code
887
Commits
23

pyfileconf_datacode

Integration between pyfileconf and datacode

pyfileconf plugin to support datacode operations

Lines of code
536
Commits
26

nick-derobertis-site

Personal Website

Personal website for Nick DeRobertis. I designed and created the entire site from scratch besides the logo.

Lines of code
8,786
Commits
404

derobertis_project_logo

Logo Generator

Nick DeRobertis' Project Logo Collection and Generator

Lines of code
723
Commits
19

derobertis_consulting

derobertis-consulting

General consulting utilities and temporary home for new consulting projects

Lines of code
3,465
Commits
63

pyxbrl

py-xbrl

Parse XBRL into models which support serialization to DataFrames

Lines of code
415
Commits
3

svelte-app

Integration between Svelte and Angular

Example Angular application using a Svelte component, including an Angular Svelte wrapper component

Lines of code
17,997
Commits
30

pl-uf-thesis

UF Dissertation Pyexlatex Template

University of Florida (UF) Thesis/Dissertation Template in Pyexlatex

Lines of code
1,042
Commits
29

dist

ActivityWatch System Tray

System tray app for ActivityWatch to report current project

Lines of code
3,849
Commits
30

github_secrets

Github Secrets CLI

Python API and CLI for managing Github secrets

Lines of code
1,414
Commits
38

pyappconf

Python Application Configuration Manager

Strongly typed and validated configuration supporting multiple file types, dynamic instantiation, and environment variables

Lines of code
1,557
Commits
119

fitbit_downloader

Fitbit Downloader

A CLI and Python tool for downloading Fitbit data

Lines of code
1,199
Commits
39

flexlate

Flexible Template System

A composable, maintainable system for managing templates

Lines of code
7,033
Commits
655

flexlate_dev

Flexlate Development Tools

Development tools for template authors using Flexlate

Lines of code
1,994
Commits
310

flexlate-update-action

Flexlate Update Github Action

Lines of code
0
Commits
39

flexlate-merge-action

Flexlate Merge Github Action

Lines of code
0
Commits
32

copier-github-actions-semantic-release

Copier Template for Github Actions with Semantic Release

Copier Template to Create a Github Action with Semantic Release

Lines of code
0
Commits
38

flexlate-after-conflict-action

Flexlate After Conflict Github Action

Lines of code
0
Commits
16

flexlate-after-main-merge-action

Flexlate After Main Merge Github Action

Lines of code
0
Commits
12

copier-flexlate-github-actions

Copier Template to add Flexlate Github Actions

Copier Template to Create Github Actions Workflows for Flexlate CI Support

Lines of code
0
Commits
8

copier-semantic-release

Copier Template to add Semantic Release

Lines of code
0
Commits
16

copier-flexlate-dev-semantic-release

Copier Template for a Copier Template using Flexlate Development Tools and Semantic Release

Lines of code
0
Commits
38

terminhtml

TerminHTML

Run shell commands and convert into an HTML/CSS animated terminal

Lines of code
1,415
Commits
126

output

Copier Template for an NPM package built with TypeScript and documented with Sphinx

Copier Template for an NPM Package built with TypeScript

Lines of code
15
Commits
36

src

TerminHTML JS

Convert HTML blocks with terminal output into animated terminals

Lines of code
2,620
Commits
94

__mocks__

TerminHTML Bootstrap

Automatically initialize TerminHTML terminals when elements come into view

Lines of code
1,903
Commits
44

sphinx_terminhtml

Sphinx TerminHTML Directive

Write bash commands in a Sphinx directive, output an animated HTML/CSS terminal

Lines of code
524
Commits
38

treecomp

treecomp - File Comparison Tool

Compare directory trees and output unified diff

Lines of code
1,004
Commits
55

terminhtml_recorder

TerminHTML Recorder

Create video and image files via TerminHTML rather than HTML/CSS/JS

Lines of code
819
Commits
25

cliconf

cliconf - CLI Configuration Framework

Framework that lets you write CLIs with Typer that can also be configured via py-app-conf

Lines of code
1,323
Commits
83

ts-build

Github Topic Syncer

Sync Github Topics from a Github Action

Lines of code
227
Commits
26

testutils

Clean Yarn

Deletes all node_modules folders and yarn.lock files in a Yarn project, including workspaces

Lines of code
15,270
Commits
32

output

Copier Template for a SolidJS Typescript Project

Lines of code
19
Commits
11

output

Copier Template for a NextJS Project

Copier Template for a NextJS App

Lines of code
40
Commits
40

src

Vercel Rollback CLI

CLI to rollback Vercel deployments

Lines of code
2,369
Commits
9

typer_router

Typer Router - Filesystem-Based CLI

Build Typer CLI Apps with File System-Based Routing

Lines of code
626
Commits
26

output

Full Stack App Template (FastAPI, NextJS, Terraform, AWS)

Lines of code
3,184
Commits
29

ts-build

Last Successful Commit Github Action

GitHub action for identifying the last successful commit for a given workflow and branch

Lines of code
147
Commits
28

mirror_api

Mirror API

An API that returns the structure of the request as the response

Lines of code
186
Commits
18

pyrop

Python Railway-Oriented Programming

Imperative-style railway-oriented programming in Python

Lines of code
505
Commits
26