Passionate and driven software engineer and project manager highly skilled in Python and flexible in the use of programming languages. Interested in leveraging my knowledge and skills in a variety of technologies to produce efficient, scalable code. I love working on projects for terminal, desktop, and web applications along with data science projects day in and day out. Check out my bio below, or my website kyledavis.com to learn a little bit more about me!
Each package is free and open-source software (FOSS). There are other projects listed in my repositories and gists, such as vim-snippets.
Language | Project | Description |
---|---|---|
🦀 Rust - crates.io 🦀 | ||
Rust | A way to interact with Vim using Rust. | |
Rust | clipboard-win-html | Copy HTML to Windows clipboard. |
Rust | tasklib | Library to use Taskwarrior with Rust. |
Rust | valve-server-query | Allows you to access the data provided by Valve's Server Query protocol. |
Rust | simple-milli | A simple implementation using the core engine of Meilisearch, milli , to create an embedded search engine. |
🐍 Python - PyPi 🐍 | ||
Python | clip-util | Package for accessing the clipboard with Python. |
Python | fzflib | Bring the incredible utility of FZF to Python. |
Python | vimlib | A friendly interface for interacting with Vim using Python. |
Python | cs-sync | A custom syncing tool. |
Python | pyfreshdesk | Python client library for interacting with Freshdesk. |
Python | testlodge | Python client library for interacting with TestLodge. |
I enjoy working on desktop, web, and command-line application using a myriad of technologies. Although my preferable languages are Python and Rust, I also work a lot with JavaScript and some other languages. Using my passion for these technologies, I actively contribute to the FOSS community, giving back a small piece compared to all that the community have freely given me and others like me.
From Vim plugins to automated setup and management systems, I have a strong curiosity for learning new technology and applying that new knowledge in the real world. The most common and powerful adaptation of this has been through command line utilities and web servers for consistency and reliability. Among these
I also enjoy some data engineering tasks, making ETL data pipelines to automate the collection, processing, and application of available data to accomplish day to day operations. This includes, access to external HTTP APIs, and putting the data into a CSV/Excel file. Items such as using the local Outlook application for reading and writing email, win32 API for the clipboard, Selenium for any difficult web-based access, and access to many other external web API to get information from web-based financial software/accounts, email, and communication systems.
Always working on countless different projects as my interests vary greatly. Really enjoy learning new things and discussing all sorts of different technologies. Most recently, I keep coming back to Asyncio, OAuth (and the other, more complicated, authentication methods), SQLAlchemy (my favorite ORM), the many Raspberry Pi projects sitting around the house (weakly managed with Ansible), and Vue (excellent front-end for dynamic, modular information, though JS is not nearly as cool as Python).
Other projects include desktop applications, web applications, system administration projects, home automation, etc. This includes contributing to the wider software community, being a proud supporter of projects such as Helix.
I currently manage over 5 web servers.
- Dedicated Game Hosting
- Applications to view/manage these
- Linux
- Windows
- Dedicated Web Server
- Dedicated Web Apps Server
- Hosts a variety of different web services.
I've authored several client libraries for accessing available APIs using Python and Rust, along with some lower level libraries working with network protocols such as UDP.
- WebAssembly
- Requests
- BeautifulSoup4
- Scrapy
- wasm-bindgen
- web-sys
- NPM
- jQuery
- Vue.js
- SSH
- Jinja2 (templating)
- Click
- Blessed
- clap
My tool preferences involve the terminal. I am a dedicated fan of using and developing, CLI applications.
For Python projects, I would highly recommend Click. It's a fantastic library with a mature community and excellent reliability.
For Rust projects, I would highly recommend clap
. The interface is fantastic and offers a streamlined experience straight out of the box.
- Ansible
- openpyxl (Excel manipulation)
- scrapy (Python web scraping)
From systematic analysis of emails and PDF documents, automating daily tasks is an important part of my day to day.
- Pandas
- NumPy
- Matplotlib
- Plotly
- Streamlit
- Dash
Data science is a valuable and important resource to especially with finance, assets, or other accounting issues in your life and business.
- Tauri - Similar to Electron.js, it allows developers to create a desktop application using a web-based front-end.
- egui
- Rust and Python
- Command Line Tools
- Data Engineering
- Data Science and Analysis
- Automation
- Web APIs (REST)
- Web Scraping
- SQL
- SQLite
- MySQL
- Postgres
- SQLAlchemy (Python)
- Diesel (Rust)
These languages are typically for web technologies, but some are system languages used for systems programs.
- Python
- Rust
- Bash
- JavaScript
- HTML/HTML5
- CSS/CSS3
- C
- PHP
just
- Nushell
Languages are simply tools to solve a problem or perform a task. I've found Python and Rust to be the most powerful overall, but I'll use any language necessary to get a job done well. PHP is a good example of this as I've had to work with it for a number of projects, such as occasionally for work and for some home projects like NextCloud or WordPress.
Although I still typically reach for Neovim to do most of my day-to-day work, I have been using JetBrains IDEs more and more for larger projects.
- Neovim
- Helix
- Jupyter Notebook
- Jupyter Lab
- JetBrains IDEs
- LaTeX
- typst (PDF)
- Markdown
- reStructuredText (RST)
- HTML
- XML
- JSON
- YAML
- TOML
- CSV
- Excel (XLSX)
- DOCX
- RTF
- pytest
- Rope (Python refactoring library)
- Asyncio
- AWS
- Linode
- Google Cloud
I've had to create a number of Power Automate flows for my professional work, and have had to use a number of Microsoft products for work and school. Generally, I still prefer a traditional language to do large scale tasks but Microsoft's built-in tools, along with its Graph API, can be very powerful and are easier to pick up with immediately.
- Microsoft Access
- Microsoft SharePoint
- Power Automate
I've had to learn and use advanced Excel for work and school, having to do simple Visual Basic, advanced formulas, and pivot tables. I've also had to do some more advanced data importing and exporting with Excel. With the addition of Python (insider edition), I've even had the opportunity to use Python to automate Excel tasks inside of Excel itself, natively.
Generally, I prefer to operate inside another language, namely Python to do the heavy lifting and then export the data to Excel for the final presentation/data sharing. Some have also asked for Word documents, but these can be more difficult as a medium for data sharing.
- Microsoft Excel
- Microsoft Word
- Microsoft PowerPoint
- Linux
- Ubuntu
- Windows (10)
- Raspberry Pi
- Apple (macOS) - Needed to package and distribute as the requirements called for it.
- Corey Schafer
- anthonywritescode
- FreeCodeCamp
- Udemy
- Codecademy
- Duolingo