René's URL Explorer Experiment


Title: How to Add Features to a Python Project With Codex CLI – Real Python

Open Graph Title: How to Add Features to a Python Project With Codex CLI – Real Python

Description: Learn how to use Codex CLI to add features to Python projects via the terminal. Master AI-powered coding without needing a browser or IDE plugins.

Open Graph Description: Learn how to use Codex CLI to add features to Python projects via the terminal. Master AI-powered coding without needing a browser or IDE plugins.

Mail addresses
?subject=Python article for you&body=How to Add Features to a Python Project With Codex CLI on Real Python https://realpython.com/codex-cli/

Opengraph URL: https://realpython.com/codex-cli/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "http://schema.org",
  "@type": "Article",
  "headline": "How to Add Features to a Python Project With Codex CLI",
  "image": {
    "@type": "ImageObject",
    "url": "https://files.realpython.com/media/How-to-Use-Codex-CLI-for-AI-Assisted-Coding-in-Your-Terminal_Watermarked.43b0a00264fa.jpg",
    "width": 1920,
    "height": 1080
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://realpython.com/codex-cli/",
    "lastReviewed": "2026-07-03",
    "author": {
      "@type": "Person",
      "name": "Rodrigo Gir\u00e3o Serr\u00e3o",
      "image": "https://realpython.com/cdn-cgi/image/width=1024,height=1024,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/rodrigo_1024.01d3cbf06835.webp",
      "url": "https://realpython.com/team/rgiraoserrao/",
      "affiliation": {
        "@type": "Organization",
        "@id": "https://realpython.com/#organization",
        "name": "Real Python",
        "url": "https://realpython.com",
        "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
      }
    },
    "reviewedBy": [
      {
        "@type": "Person",
        "name": "Aldren Santos",
        "image": "https://realpython.com/cdn-cgi/image/width=500,height=500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Aldren_Santos_Real_Python.6b0861d8b841.png",
        "url": "https://realpython.com/team/asantos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Brenda Weleschuk",
        "image": "https://realpython.com/cdn-cgi/image/width=320,height=320,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/IMG_3324_1.50b309355fc1.jpg",
        "url": "https://realpython.com/team/bweleschuk/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Leodanis Pozo Ramos",
        "image": "https://realpython.com/cdn-cgi/image/width=862,height=862,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Perfil_final1.9f896bc212f6.jpg",
        "url": "https://realpython.com/team/lpozoramos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Philipp Acsany",
        "image": "https://realpython.com/cdn-cgi/image/width=1920,height=1920,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/pacsany.19bcf16f5a00.jpg",
        "url": "https://realpython.com/team/pacsany/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      }
    ]
  },
  "datePublished": "2026-04-13T14:00:00+00:00",
  "dateModified": "2026-07-03T10:15:20.359082+00:00",
  "publisher": {
    "@type": "Organization",
    "@id": "https://realpython.com/#organization",
    "name": "Real Python",
    "url": "https://realpython.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png",
      "width": 512,
      "height": 512
    },
    "description": "Real Python is a leading provider of online Python education and one of the largest language-specific online communities for software developers. It publishes high-quality learning resources, such as tutorials, books, and courses to an audience of millions of developers, data scientists, and machine learning engineers each month.",
    "slogan": "Become a Python Expert",
    "email": "info@realpython.com",
    "sameAs": [
      "https://github.com/realpython",
      "https://www.youtube.com/realpython",
      "https://twitter.com/realpython",
      "https://x.com/realpython",
      "https://www.linkedin.com/company/realpython-com/",
      "https://www.facebook.com/learnrealpython",
      "https://www.instagram.com/realpython",
      "https://www.tiktok.com/@realpython.com"
    ]
  },
  "author": {
    "@type": "Person",
    "name": "Rodrigo Gir\u00e3o Serr\u00e3o",
    "image": "https://realpython.com/cdn-cgi/image/width=1024,height=1024,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/rodrigo_1024.01d3cbf06835.webp",
    "url": "https://realpython.com/team/rgiraoserrao/",
    "affiliation": {
      "@type": "Organization",
      "@id": "https://realpython.com/#organization",
      "name": "Real Python",
      "url": "https://realpython.com",
      "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
    }
  },
  "description": "Learn how to use Codex CLI to add features to Python projects via the terminal. Master AI-powered coding without needing a browser or IDE plugins.",
  "hasPart": {
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "What is Codex CLI?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eCodex CLI is a command-line tool developed by OpenAI that you can run locally from your terminal, giving you access to a coding \u003ca href=\"/ref/ai-coding-glossary/agent/\" class=\"ref-link\"\u003eagent\u003c/a\u003e that can read, change, and run code on your machine in the selected directory.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "Is Codex CLI free?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eIn general, no. Codex CLI requires a ChatGPT account on a paid tier \u003cem\u003eor\u003c/em\u003e a valid API key with credits.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "How is Codex CLI different from ChatGPT in the browser?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eSince it runs locally, Codex CLI can access your project files directly to read and edit them. Codex CLI can also run your code or project tests, create new files, and more. ChatGPT lives in the browser, so it can only access the files you upload explicitly. Conversely, since Codex CLI runs locally, you need to be more careful about what it accesses and modifies to prevent prompt injection attacks.\u003c/p\u003e"
        }
      }
    ]
  }
}

authorReal Python
theme-color#18354c
color-schemelight dark
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/How-to-Use-Codex-CLI-for-AI-Assisted-Coding-in-Your-Terminal_Watermarked.43b0a00264fa.jpg
og:imagehttps://files.realpython.com/media/How-to-Use-Codex-CLI-for-AI-Assisted-Coding-in-Your-Terminal_Watermarked.43b0a00264fa.jpg
twitter:creator@realpython
og:typearticle
og:site_nameReal Python
apple-mobile-web-app-titleReal Python

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/codex-cli/
Your Learning Plan →Your personalized Python learning planhttps://realpython.com/account/learning-plan/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest&_from=nav_library
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/search?kind=exercise&kind=quiz&_from=nav_library
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Mentor AI →NewYour personal Python mentorhttps://realpython.com/mentor/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Live Courses →Live, instructor-led Python courseshttps://realpython.com/live/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Unlock All Content and Become a Python Expert →Get unlimited access to all Real Python has to offerhttps://realpython.com/account/join/?from=navbar_learn
Unlock All Content →Become a Python Experthttps://realpython.com/account/join/?from=navbar_learn
More https://realpython.com/codex-cli/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Contributorhttps://realpython.com/jobs/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?intent=navbar&next=%2Fcodex-cli%2F
Browse Topicshttps://realpython.com/tutorials/all/
Guided Learning Pathshttps://realpython.com/learning-paths/
Basicshttps://realpython.com/search?level=basics&_from=sidebar_level
Intermediatehttps://realpython.com/search?level=intermediate&_from=sidebar_level
Advancedhttps://realpython.com/search?level=advanced&_from=sidebar_level
aihttps://realpython.com/tutorials/ai/
algorithmshttps://realpython.com/tutorials/algorithms/
apihttps://realpython.com/tutorials/api/
best-practiceshttps://realpython.com/tutorials/best-practices/
careerhttps://realpython.com/tutorials/career/
communityhttps://realpython.com/tutorials/community/
databaseshttps://realpython.com/tutorials/databases/
data-sciencehttps://realpython.com/tutorials/data-science/
data-structureshttps://realpython.com/tutorials/data-structures/
data-vizhttps://realpython.com/tutorials/data-viz/
devopshttps://realpython.com/tutorials/devops/
djangohttps://realpython.com/tutorials/django/
dockerhttps://realpython.com/tutorials/docker/
editorshttps://realpython.com/tutorials/editors/
flaskhttps://realpython.com/tutorials/flask/
front-endhttps://realpython.com/tutorials/front-end/
gamedevhttps://realpython.com/tutorials/gamedev/
guihttps://realpython.com/tutorials/gui/
machine-learninghttps://realpython.com/tutorials/machine-learning/
newshttps://realpython.com/tutorials/news/
numpyhttps://realpython.com/tutorials/numpy/
projectshttps://realpython.com/tutorials/projects/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
testinghttps://realpython.com/tutorials/testing/
toolshttps://realpython.com/tutorials/tools/
web-devhttps://realpython.com/tutorials/web-dev/
web-scrapinghttps://realpython.com/tutorials/web-scraping/
Table of Contentshttps://realpython.com/codex-cli/#toc
Prerequisiteshttps://realpython.com/codex-cli/#prerequisites
Step 1: Install and Configure Codex CLIhttps://realpython.com/codex-cli/#step-1-install-and-configure-codex-cli
Step 2: Use Codex CLI to Implement a New Featurehttps://realpython.com/codex-cli/#step-2-use-codex-cli-to-implement-a-new-feature
Step 3: Refine Project Features With Codex CLIhttps://realpython.com/codex-cli/#step-3-refine-project-features-with-codex-cli
Troubleshooting and Next Stepshttps://realpython.com/codex-cli/#troubleshooting-and-next-steps
Frequently Asked Questionshttps://realpython.com/codex-cli/#frequently-asked-questions
https://realpython.com/feedback/survey/article/codex-cli/liked/?from=article-sidebar
https://realpython.com/feedback/survey/article/codex-cli/disliked/?from=article-sidebar
Use Codex CLI to Enhance Your Python Projects 32m · 10 lessons https://realpython.com/courses/use-codex-cli-enhance-your-python-projects/
Rodrigo Girão Serrãohttps://realpython.com/codex-cli/#author
https://realpython.com/codex-cli/#reader-comments
intermediatehttps://realpython.com/tutorials/intermediate/
aihttps://realpython.com/tutorials/ai/
toolshttps://realpython.com/tutorials/tools/
Prerequisiteshttps://realpython.com/codex-cli/#prerequisites
Step 1: Install and Configure Codex CLIhttps://realpython.com/codex-cli/#step-1-install-and-configure-codex-cli
Step 2: Use Codex CLI to Implement a New Featurehttps://realpython.com/codex-cli/#step-2-use-codex-cli-to-implement-a-new-feature
Step 3: Refine Project Features With Codex CLIhttps://realpython.com/codex-cli/#step-3-refine-project-features-with-codex-cli
Troubleshooting and Next Stepshttps://realpython.com/codex-cli/#troubleshooting-and-next-steps
Frequently Asked Questionshttps://realpython.com/codex-cli/#frequently-asked-questions
Remove adshttps://realpython.com/account/join/
Use Codex CLI to Enhance Your Python Projectshttps://realpython.com/courses/use-codex-cli-enhance-your-python-projects/
IDEhttps://realpython.com/ref/glossary/ide/
Codex CLIhttps://realpython.com/ref/ai-coding-tools/codex-cli/
https://realpython.com/quizzes/codex-cli/
How to Add Features to a Python Project With Codex CLIhttps://realpython.com/quizzes/codex-cli/
https://realpython.com/codex-cli/#prerequisites
ChatGPThttps://realpython.com/ref/ai-coding-tools/chatgpt/
APIhttps://realpython.com/ref/glossary/api/
Node.jshttps://nodejs.org/
Click here to download the free source code for the RP Contacts sample projecthttps://realpython.com/bonus/codex-cli-code/
Textualhttps://github.com/textualize/textual
Build a Contact Book App With Python, Textual, and SQLitehttps://realpython.com/contact-book-python-textual/
uvhttps://realpython.com/ref/tools/uv/
uvhttps://realpython.com/python-uv/
the official installation instructionshttps://docs.astral.sh/uv/#installation
virtual environmenthttps://realpython.com/python-virtual-environments-a-primer/
https://files.realpython.com/media/contact-book-planned-main-tui.323905a20273.png
Githttps://realpython.com/ref/tools/git/
LLMshttps://realpython.com/ref/ai-coding-glossary/llm/
AI-powered coding toolshttps://realpython.com/ai-coding-agents-guide/
Python Coding With AI learning pathhttps://realpython.com/learning-paths/coding-with-ai/
prompt engineeringhttps://realpython.com/ref/ai-coding-glossary/prompt-engineering/
Remove adshttps://realpython.com/account/join/
https://realpython.com/codex-cli/#step-1-install-and-configure-codex-cli
official OpenAI documentationhttps://developers.openai.com/codex/quickstart/?setup=cli
npmhttps://www.npmjs.com
OpenAI API keyhttps://platform.openai.com/api-keys
prompt injectionhttps://realpython.com/ref/ai-coding-glossary/prompt-injection/
https://files.realpython.com/media/project-name.c6e602c44862.png
https://realpython.com/codex-cli/#step-2-use-codex-cli-to-implement-a-new-feature
Githttps://realpython.com/how-to-use-git/
prerequisiteshttps://realpython.com/codex-cli/#prerequisites
version controlhttps://realpython.com/ref/best-practices/version-control/
https://files.realpython.com/media/Screenshot_2026-03-01_at_23.59.04.66e99a553ea2.png
Remove adshttps://realpython.com/account/join/
https://realpython.com/codex-cli/#step-3-refine-project-features-with-codex-cli
decoratorhttps://realpython.com/ref/glossary/decorator/
https://realpython.com/codex-cli/#troubleshooting-and-next-steps
OpenAI Codex Authentication documentation pagehttps://developers.openai.com/codex/auth/
the original app tutorialhttps://realpython.com/contact-book-python-textual/#next-steps
Click here to download the free source code for the RP Contacts sample projecthttps://realpython.com/bonus/codex-cli-code/
Remove adshttps://realpython.com/account/join/
https://realpython.com/codex-cli/#frequently-asked-questions
agenthttps://realpython.com/ref/ai-coding-glossary/agent/
https://realpython.com/quizzes/codex-cli/
How to Add Features to a Python Project With Codex CLIhttps://realpython.com/quizzes/codex-cli/
https://realpython.com/feedback/survey/article/codex-cli/liked/?from=article-footer
https://realpython.com/feedback/survey/article/codex-cli/disliked/?from=article-footer
Use Codex CLI to Enhance Your Python Projectshttps://realpython.com/courses/use-codex-cli-enhance-your-python-projects/
https://realpython.com/team/rgiraoserrao/
» More about Rodrigohttps://realpython.com/team/rgiraoserrao/
https://realpython.com/team/asantos/
Aldrenhttps://realpython.com/team/asantos/
https://realpython.com/team/bweleschuk/
Brendahttps://realpython.com/team/bweleschuk/
https://realpython.com/team/lpozoramos/
Leodanishttps://realpython.com/team/lpozoramos/
https://realpython.com/team/pacsany/
Philipphttps://realpython.com/team/pacsany/
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=codex-cli
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=codex-cli
https://realpython.com/feedback/survey/article/codex-cli/liked/?from=article-comments
https://realpython.com/feedback/survey/article/codex-cli/disliked/?from=article-comments
LinkedInhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Frealpython.com%2Fcodex-cli%2F
Twitterhttps://twitter.com/intent/tweet/?text=Interesting%20Python%20article%20on%20%40realpython%3A%20How%20to%20Add%20Features%20to%20a%20Python%20Project%20With%20Codex%20CLI&url=https%3A%2F%2Frealpython.com%2Fcodex-cli%2F
Blueskyhttps://bsky.app/intent/compose?text=Interesting%20Python%20article%20on%20%40realpython.com%3A%20How%20to%20Add%20Features%20to%20a%20Python%20Project%20With%20Codex%20CLI%20https%3A%2F%2Frealpython.com%2Fcodex-cli%2F
Facebookhttps://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fcodex-cli%2F
Get tips for asking good questionshttps://realpython.com/python-beginner-tips/#tip-9-ask-good-questions
get answers to common questions in our support portalhttps://support.realpython.com
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
intermediatehttps://realpython.com/tutorials/intermediate/
aihttps://realpython.com/tutorials/ai/
toolshttps://realpython.com/tutorials/tools/
Use Codex CLI to Enhance Your Python Projectshttps://realpython.com/courses/use-codex-cli-enhance-your-python-projects/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=codex-cli
How to Use OpenCode for AI-Assisted Python Codinghttps://realpython.com/opencode-guide/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=codex-cli
https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fcodex-cli%2F
Continue »https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fcodex-cli%2F
Sign-Inhttps://realpython.com/account/login/?intent=continue_reading&next=/codex-cli/
Start Herehttps://realpython.com/start-here/
Your Learning Planhttps://realpython.com/account/learning-plan/
Browse Topicshttps://realpython.com/tutorials/all/
Learning Resourceshttps://realpython.com/search
Python Referencehttps://realpython.com/ref/
Cheat Sheetshttps://realpython.com/cheatsheets/
Support Centerhttps://support.realpython.com
Mentor AIhttps://realpython.com/mentor/
Learning Pathshttps://realpython.com/learning-paths/
Tutorialshttps://realpython.com/tutorials/
Courseshttps://realpython.com/courses/
Quizzeshttps://realpython.com/quizzes/
Coding Exerciseshttps://realpython.com/coding-exercises/
Live Courseshttps://realpython.com/live/
Bookshttps://realpython.com/books/
Data Sciencehttps://realpython.com/start/data-science-analytics/
AI Apps & Agentshttps://realpython.com/start/ai-apps-agents/
Machine Learninghttps://realpython.com/start/machine-learning/
Automationhttps://realpython.com/start/scripting-automation/
Web Developmenthttps://realpython.com/start/web-development-apis/
Cybersecurityhttps://realpython.com/start/cybersecurity/
Podcasthttps://realpython.com/podcasts/rpp/
Newsletterhttps://realpython.com/newsletter/
Community Chathttps://realpython.com/community/
Office Hourshttps://realpython.com/office-hours/
Learner Storieshttps://realpython.com/learner-stories/
Plans & Pricinghttps://realpython.com/account/join/
Team Planshttps://realpython.com/account/join-team/
For Businesshttps://realpython.com/account/join-team/inquiry/
For Schoolshttps://realpython.com/account/join-team/education-inquiry/
Reviewshttps://realpython.com/learner-stories/
About Ushttps://realpython.com/about/
Teamhttps://realpython.com/team/
Mission & Valueshttps://realpython.com/mission/
Editorial Guidelineshttps://realpython.com/editorial-guidelines/
Sponsorshipshttps://realpython.com/sponsorships/
Careershttps://realpython.workable.com
Press Kithttps://realpython.com/media-kit/
Merchhttps://realpython.com/merch
https://www.youtube.com/realpython
https://x.com/realpython
https://www.linkedin.com/company/realpython-com
https://www.facebook.com/LearnRealPython
https://github.com/realpython/
Privacy Policyhttps://realpython.com/privacy-policy/
Terms of Usehttps://realpython.com/terms/
Securityhttps://realpython.com/security/
Contacthttps://realpython.com/contact/
https://realpython.com/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.