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.