I install these 9 Python tools on every new machine


Everyone has their toolbox of favorite programs that they install on their machines whenever they get a new one. Working with Python, I’ve built up my own essential toolkit. Here are the libraries and programs I reach for whenever I get a new machine.

Jupyter/IPython

Scientific programming done the easy way

Notebook price data Jupyter notebook.

Jupyter is a way of creating interactive notebooks that blend text, graphics, and code. This is a unique form of programming. It’s taken the scientific programming world by storm. It’s so easy to run and re-run snippets of code.

While it’s not a Python-specific tool, supporting other languages, Python is one of the open-source languages of choice for scientific computing, including stats. Jupyter notebooks were originally part of IPython, which enhances the interactive Python environment. I mainly use IPython for experimentation and Jupyter notebooks when I want to save my results.

Mamba

Custom enviornments in a flash

Installing IPython in the existing Mamba stats environment.

This is not a specific Python tool, but Mamba is useful for setting up my environment on a new machine. While Python is included on many systems, on Linux systems, it’s mainly used for supporting scripts and other functions of the OS itself, and not meant for programming projects. If I want to install packages, I’ll have to either use my package manager or set up a virtual environment.

Mamba allows me to easily set up custom environments with the packages I want and switch back and forth. This makes it much less likely for me to mess up my system Python environment.

NumPy

Crunch numbers on the fly

Generating a random number with NumPy.

NumPy is the workhorse of scientific computation on Python. Its functionality makes it comparable to Matlab, already widely used in science and engineering. It makes working with numerical arrays easy. You can define vectors and matrices to solve systems of linear equations easily.

The main attraction for me is the availability of a lot of basic statistical calculations, including the mean and median. NumPy also works with a lot of other libraries, which I’ll mention later.

SciPy

Tons of science tools in one package

The SciPy official homepage.

SciPy is a grab bag of a lot of scientific functions. Again, its main attraction for me is statistical computing. I can computer functions that for some reason aren’t in the standard NumPy. For example, I can compute the statistical mode, or the number that appears most often in a dataset.

Suppose I have an array called “a.” If I want to find the mode, I would just run this code:

from scipy import stats
stats.mode(a)

SciPy also has many popular statistical distributions, such as the normal, binomial, and Student’s t. I don’t have to look through tables anymore.

SymPy

Similar to Wolfram Mathematic, but free

Expansion of a binomial in SymPy to create Pascal's triangle.

While NumPy and SciPy cover numeric calculations, SymPy offers something completely different. It’s a library that turns Python into a computer algebra system. This lets it manipulate symbolic variables the way a calculator works on numbers. This is functionality that has been offered in expensive packages like Wolfram Mathematica.

This lets me perform algebraic operations within Python, such as expanding and factoring polynomials, solving equations, and even integral and differential calculus. While this accounts for a minority of daily operations, these are valuable for deeper understanding of statistical concepts. I can use it to work out the formula for a linear regression, while other libraries will handle the actual calculations. I’ve also been using it to work through texts that do make use of these more advanced operations. I’ve found it an invaluable tool for my mathematical self-education.

pandas

Format and manipulate numbers

Avocado dataset with month column added.

For statistical calculations, this would be even more of a workhorse than NumPy on its own. pandas makes it easy to define DataFrames of rectangular data. This resembles the arrangements of data you see in spreadsheets and in relational databases. It’s also trivially easy to import data from Excel and CSV spreadsheets.

Not only can I display data, it also has a lot of built-in functions to run calculations, such as descriptive stats. I can also plot data using pandas methods.

seaborn

Put your data on a graph

Regression line and scatterplot of restaurant tips vs. the bill from Seaborn.

I’ve mentioned Seaborn previously. I like how it offers an easy way to generate common statistical plots. It’s effectively a front end to the popular Matplotlib library. While the latter is useful, it can be a pain to set up the plot you want. In Seaborn, it’s mainly a matter of choosing the kind of plot I want and setting an x-axis and a y-axis.

For example, to obtain a regression with a scatterplot of the built-in restaurant tips database of the tip vs the total bill:

import seaborn as sns
sns.set_theme()
tips = sns.load_dataset('tips')
sns.regplot(x='total_bill',y='tip',data=tips)

Pingouin

Output your results the clean way

Pingouin results of restaurant tip vs. total bill.

Pingouin is a useful library for obtaining the results of statistical tests in a user-friendly way. To see the actual numbers behind that regression plot earlier, I can use pingouin’s linear_regression method:

import pingouin as pg
pg.linear_regression(tips['total_bill'],tips['tip'])

There are other common tests, such as Student’s t-test and Chi-square.

statsmodels

Linear regression and cross-functionality

Tips vs. bill regression statsmodels result in a Jupyter notebook.

statsmodels is an older library that, as the name suggests, is mainly for statistical tests. Its main attraction is linear regression. Its results are also cross-checked against other statistical programs like R. This makes it useful if you want to make sure your results are valid. Speaking of R, it also supports R-like formulas. I’ll demonstrate this with another version of the regression analysis of the tips dataset:

import statsmodels.formula.api as smf
results = smf.ols('tip ~ total_bill',data=tips).fit()
results.summary()

Tools I’ll take everywhere

These libraries and tools make analyzing data easier and even more fun. So, they’ll follow me to my next machine.



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


What Is Invoice Factoring in Plain English?

At its core, invoice factoring (also known as accounts receivable financing) is about selling your invoices to a factoring company in exchange for immediate cash. You’ll usually get 70–90% upfront, then the remainder (minus fees) once your customer pays.

This is not a loan. You’re not creating new debt or taking on monthly repayments. You’re simply trading tomorrow’s receivables for today’s working capital.

👉 Forbes Advisor explains invoice factoring as one of the most practical ways small businesses improve liquidity.


How Does Invoice Factoring Work?

Here’s the play-by-play:

  1. You invoice your customer for goods or services.

  2. Instead of waiting for them to pay, you sell that invoice to a factoring company.

  3. The factoring company advances you 70–90% of the invoice value.

  4. They collect directly from your customer.

  5. When the customer pays, you receive the remaining balance, minus factoring fees.

Example: You invoice a client for $50,000. A factor gives you 85% upfront ($42,500). Your client pays in 45 days. After collecting their fee (say 2%), the factor pays you the rest ($6,500). End result: You didn’t wait 45 days to get paid.

đź’ˇ Pro Tip: Pair invoice factoring with a revolving line of credit for maximum flexibility in managing cash flow gaps.


Invoice Factoring vs. Invoice Financing

They sound similar, but there’s a big difference:

Invoice Factoring Invoice Financing
Sell invoices outright Borrow against invoices
Factor collects payment You still collect
Not treated as debt Loan repayment required
Transparent but higher cost Often cheaper but more responsibility

👉 If you prefer to stay in control of collections, invoice financing might work better. But if you just want fast cash and less admin, factoring is the way to go.


Pros and Cons of Invoice Factoring

Pros Cons
✅ Immediate access to working capital ❌ More expensive than bank loans
✅ Based on customer creditworthiness ❌ Customers know factoring is in place
✅ No new debt or repayments ❌ Limited to B2B invoices
✅ Supports cash flow management ❌ Recourse factoring = you take the risk

💡 Pro Tip: If you’re worried about non-paying customers, look for non-recourse factoring. It costs more, but the factor—not you—takes the hit if your client defaults.


Who Uses Invoice Factoring?

Certain industries rely heavily on factoring because slow-paying customers are the norm. Top sectors include:

  • Trucking & logistics: Carriers often wait 30–90 days for brokers or shippers to pay. Factoring ensures they cover fuel and payroll immediately.

  • Staffing agencies: Weekly payroll but client invoices that pay monthly? Factoring bridges that gap.

  • Construction & subcontracting: Payment delays are common due to project milestones. Receivables financing through construction business loans keep crews running.

  • Wholesale & manufacturing: Large-volume orders often come with long terms. Factoring maintains liquidity.

  • Marketing & creative agencies: Agencies billing retainers or project-based fees often use factoring to smooth out revenue cycles.

👉 Fun fact: Staffing and trucking together account for the majority of factoring volume in the U.S.


How to Choose the Right Factoring Company

Not all factoring companies are created equal. Before signing a deal, compare:

  • Fees & transparency: Is it a flat fee or tiered by days outstanding?

  • Advance rates: Some offer 70%, others 95%.

  • Contract length: Month-to-month is flexible; year-long contracts can trap you.

  • Industry expertise: A factor that knows trucking ≠ one that specializes in creative agencies.

  • Non-recourse vs. recourse: Decide how much risk you want to carry.

For a deeper look, read Wolters Kluwer’s guide on factoring and cash flow.


Costs & Fees of Factoring Receivables

Typical fees run 1–5% per month depending on invoice size, industry, and risk. The longer your client takes to pay, the higher the fee.

Two key costs to look for:

  1. Factoring Fee (Discount Rate): Percentage of the invoice charged.

  2. Reserve Hold: Portion of the invoice held back until payment clears.

đź’ˇ Pro Tip: Always check if the factor files a UCC-1 lien. This filing can block you from getting other types of financing until the lien is released.


Real Case: Startup Scales With Invoice Factoring

A small tech startup wanted to grow but didn’t want to take on venture capital or debt. By factoring their invoices, they accessed quick cash, hired aggressively, and scaled operations. Within three years, they sold for $35 million—without giving up equity.

That’s the power of cash flow management through factoring.


Alternatives to Invoice Factoring

Invoice factoring is great—but it’s not the only way to fund your business. Alternatives include:

  • SBA 7a loans: Lower cost, but longer approval timelines. 

  • Business credit cards: Fast but can carry high interest.

  • Lines of credit: Flexible but harder to qualify for.

  • Revenue-based financing: Funding based on your sales.

đź’ˇ Pro Tip: Use factoring for short-term cash flow gaps, but consider long-term financing for expansion projects.





Source link