DEV Community

Cover image for Do You Use Python For Anything Besides Data Science?
Erik
Erik

Posted on

Do You Use Python For Anything Besides Data Science?

I am curious if Python is still seeing use in enterprise application development. Do you use Python (professionally or otherwise) for anything outside of the following areas:

  • Data Science (like heavy statistics work)
  • AI/ML
  • NLP

I know you can do other stuff in Python, but do you?

Top comments (23)

Collapse
 
vdedodev profile image
Vincent Dedo

There are popular web frameworks in Python (Django, Flask) which I see job postings for semi regularly. I've also worked on a few in house codebases that were in Python (backend services and API endpoints).

Collapse
 
erikwhiting88 profile image
Erik

Really? About how long ago was the last time you worked on something in Python? this year?

Interesting about the job postings, I feel like I haven't seen anything posted for Django in at least a year

Collapse
 
vdedodev profile image
Vincent Dedo

I was working for a research institute this year, and while their focus was heavily on data science, there was also a push to move away from more archaic languages (satellite image processing pipelines in perl? no thanks). Last year I worked for a company that was leveraging a lot of the Django features to do the heavy lifting in their backend, but was also increasing the amount of code in golang they had.

I suppose it can depend on location and on the market. In the pandemic era and south west of the UK, there's a lot of PHP going now and a lot less Python. I'm planning on branching out with some frontend stuff and devops skills to be able to go for those fullstack positions now.

Collapse
 
_hs_ profile image
HS

I use it for quick scripts to import some data or transform it or just to print out result to console to check it out. I just started recently and it's not too attractive to me to switch over everything. Like lambdas have to be defined in lamda x: x.somefun() ... while on JVM stack I'm used to x -> x.doSomething(). Also map(lambda x: x.call(), list) is much uglier to me than list.map(x -> x.call(). Once I learn more maybe I'll find prettier ways and start using it for most of my small stuff like I do Groovy + Micronaut now.

Collapse
 
habereder profile image
Raphael Habereder • Edited

I do love me some Python for automation and admin stuff. For example to format json, because the admin hates me and I don't have jq on hand, like this:
echo '{"one":1,"two":2}' | python -m json.tool

Though, I've been having a really good time with go lately, which will probably replace Python for me in the long run.

Collapse
 
rleggos profile image
Rachel Leggett

Yep! I work at a university and I build web apps using Flask, which is a Python web framework.

Collapse
 
erikwhiting88 profile image
Erik

Wow I have never heard of Flask being used in a production environment, that's very interesting

Collapse
 
masterroshan profile image
TJ Johnson

You'd be surprised if you look at some of the top sites using Flask. Pinterest is one of them.

I've done python web development on a professional level for 3 years, and I feel very fortunate that my skills are adjacent to data scientists and AI engineers.

Collapse
 
rleggos profile image
Rachel Leggett

In my experience, higher ed tends to make some less-popular stack choices and Flask was chosen for me so I'm not sure of the benefits or drawbacks to using it in prod. It does seem to work well enough for our use cases.

Collapse
 
muhimen123 profile image
Muhimen

Python is my main language. I use it all the time.

  • API wrappers
  • Automation
  • CLI apps
  • scraping
  • competitive programming

just to name a few

Collapse
 
ben profile image
Ben Halpern

I feel like Python is a pretty all-purpose "simple" programming language, lots of scripting scenarios, web dev, and more.

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

I use Python pretty regularly for automating systems administration type stuff, both by writing my own scripts (I much prefer Python for text processing over sed or awk, it's much more readable), or by utilizing (popular) tools written in Python like Ansible.

Python is actually really good for this type of thing because it's both much safer (in terms of stuff like error handling) and more powerful than shell script, but still very easy to learn and use.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Application development here! Here's a couple of my projects (in progress):

GitHub logo CodeMouse92 / Timecard

Track time beautifully.

Timecard

Track time beautifully.

Timecard allows you to track how much time you spend on tasks It offers a clean, responsive one-window interface that allows you to quickly configure your time tracking, and then hides away in the system tray until you need it again.

Features

  • Start and pause time tracking from application window or system tray.
  • Stop timer and save to log with activity notes.
  • View, sort, and edit time log entries.
  • Customizable time log path.
  • Hides to system tray.
  • Quit protection helps prevent accidentally closing while tracking time.

Installation

This can be installed a number of ways.

PyPI

You can install directly via pip using the following command:

pip install Timecard-App

If you're installing outside of a virtual environment, use the following:

pip install --user Timecard-App

Then, you can start the program with just:

timecard-app

Usage

Using Timecard is simple!

  1. Press "Start" to start tracking time.
  2. Press "Stop"…

GitHub logo CodeMouse92 / wordperil

A word puzzle party game.

Word Peril

A live-play word game for three players, similar to "Wheel of Fortune" and "Hangman", with "Jeopardy"-inspired scoring.

The game is displayed on a single screen, and the keyboard used to control the game during live play.

Originally created for the after-party at EuroPython 2020.

The Score Screen after a puzzle is solved.

Where Are The Puzzles?

This repository only contains the Word Peril game itself. You will need to provide the puzzles in the form of .peril files, which are written in JSON format.

See example_puzzleset.peril in the root of this repository for an example of a puzzleset file.

Each puzzleset must have a title as the key for the first object, and one or more clues, each one associated with a list of puzzles.

Here's a shortened example, with a title of "Office Stuff", a single clue "thing", and two separated puzzles that use that clue.

{
    "Office Stuff"
    {
        "thing": [
            "stack
Collapse
 
saakshaat profile image
Saakshaat Singh

I use Python everyday for building backend servers using FastAPI, SQLAlchemy, Pydantic and all that jazz. It's pretty nice. Everyday I learn something new.

Collapse
 
matoval profile image
matoval

I just used Python for the first time, I built a web scraper that finds all developer jobs in the US from Craigslist. I wrote an article about how I built it.

Collapse
 
rhymes profile image
rhymes

Python is from 1991, it got famous for the latest evolution of data science relatively recently (though Numpy and SciPy are not new). I've worked, in a professional and non professional environment on: parsers, web servers and web apps, lots of data manipulation, data science, game dev, networking and socket programming, scripting and system administration, even school assignments back then 😂

Having been a long time user to me it's a bit amusing when people discover Python has.a long and tried history of being used for anything but data science and AI.

I will leave you a few keywords if you want to do some research: Python and Django and Celery at Instagram, Python at YouTube, Industrial Light and Magic, Google's abandoned project Unladen Swallow, MyPy which basically came out of Dropbox as they have a massive Python codebase, Eve online and Python, all the financial companies using Python to interface with C++ numeric libraries like QuantLib and many other types of usage.

Python was literally designed to be a general purpose language easily extendable by C or C++ and I remember a time when people were complaining that all Python devs were building was web frameworks and blog engines (for example Django is as old as Rails though less popular)

Collapse
 
kahdev profile image
Kah • Edited

At a recent Python meetup, we had a demo of someone automating their house with Home Assistant and, at work, we make use of Ansible - both open source projects using Python!

Collapse
 
wayfarer_youth profile image
kristian

I have worked on a few AWS-based projects creating serverless functions with Python. Makes API creation a lot easier :)

Collapse
 
kewbish profile image
Emilie Ma

I'm learning Flask, but I've built a couple hobby CLIs when I was getting started with Python or to experiment with APIs. Don't think I've every used Python for data science or ML actually.

Collapse
 
moiseszeleny profile image
moiseszeleny

I use python to do all my symbolic and numerical calculations in my research of particle physics.