{"metadata":{"bundle_type":"episode_pack","bundle_version":"prompt24_v1","workspace_slug":"orbital","episode_id":"e18d0c40-056a-4521-80d2-3105d1e448ad","exported_at":"2026-07-01T19:53:54.115054Z"},"summary":{"content_asset_count":0,"transcript_segment_count":200,"asset_types":{},"ranked_theme_ids":[],"theme_snapshot_ids":[]},"episode":{"id":"e18d0c40-056a-4521-80d2-3105d1e448ad","source_id":"d91df8d2-cd2e-4b80-8c5b-00da7fa5ba08","source_slug":"yt-PHICGGjN5Pc-d9654309","transcript_document_id":"9917a3e2-13e2-4859-9070-c84cc29ee2b3","raw_asset_id":"ee3c0a24-9d4d-43ef-9ff6-13551ef1e63e","title":"How I Set Up Python for Professional AI Development","description":"Download PyCharm, free forever with the month of Pro included and a free AI trial: https://jb.gg/tt1 Vibe coding gets you started. A professional setup keeps you going. In this video I walk you through exactly how I set up Python for serious AI development — using the tools that top software engineers actually use, not just a CLI and a chat window. Want to make real money with coding? I share high-signal insights on careers, monetization, and leverage in my free newsletter. Join here and get my guide How to Make Money With Coding instantly: https://techwithtim.net/newsletter 🚀 Tools I Use Get 10% off with code techwithtim Openclaw setup: https://www.hostinger.com/techwithtim VPS setup: https://www.hostinger.com/techwithtim10 Wispr Flow (Best AI Dictation): https://ref.wisprflow.ai/TechWithTim-jun26 🎞 Video Resources 🎞 UV Guide: https://www.youtube.com/watch?v=6pttmsBSi8M Official GitHub MCP: https://github.com/github/github-mcp-server ⏳ Timestamps ⏳ 00:00 | Overview 01:12 | Why Y","external_url":"https://www.youtube.com/watch?v=PHICGGjN5Pc","status":"published","published_at":"2026-06-30T13:00:37Z","transcript_segment_count":200,"content_asset_count":0,"details_json":{"file_name":null,"published_at":"2026-06-30T13:00:37+00:00","transcript_format":"youtube_captions"},"latest_transcript_segments":[{"id":"8d722e4c-4813-4ec7-a4cb-08d39785897b","segment_index":0,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Stop vibe coding and do this instead."},{"id":"88c5ae3f-3b18-4a96-82aa-3fd2c9ff31eb","segment_index":1,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Now look, AI models are great. We can"},{"id":"c974fcf7-05fe-4bd6-94a0-e18bb116f68c","segment_index":2,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"generate massive amounts of code, they"},{"id":"ea543fe7-1fcc-4bb5-a4b0-4e5a3362a9a7","segment_index":3,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"save us hundreds, probably thousands of"},{"id":"f51ab631-fd2a-4af0-99a0-8a0630491ec8","segment_index":4,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"hours of time, and we can generate some"},{"id":"04b36f99-cb4a-4529-801c-792a8d2fe859","segment_index":5,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"really interesting products with them."},{"id":"57b14365-02d9-42b9-bc8e-91fcbf14398d","segment_index":6,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"But when you want to become a"},{"id":"a90e4824-2479-4b99-ac2d-4347c9a78e60","segment_index":7,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"professional software engineer, the way"}],"content_asset_counts":{}},"source":{"id":"d91df8d2-cd2e-4b80-8c5b-00da7fa5ba08","workspace_id":"d9654309-c206-4820-9522-1886720e58c4","name":"How I Set Up Python for Professional AI Development","slug":"yt-PHICGGjN5Pc-d9654309","source_type":"youtube_video","enabled":true,"base_url":"https://www.youtube.com/watch?v=PHICGGjN5Pc","feed_url":null,"domain":"youtube.com","jurisdiction":null,"authority_tier":"tier_d","source_class":"exploratory","access_posture":"fully_fetchable","discovery_confidence":null,"original_discovery_confidence":null,"approval_basis":null,"promotion_path":null,"discovery_context_json":{},"content_type_label":null,"cadence":null,"fetch_method":null,"last_ingested_at":"2026-07-01T06:12:00.268333Z","archived_at":null,"last_run_status":"succeeded","document_count":1,"recent_document_count":1,"policy":{"layer":null,"fetch_strategy":null,"effective_cadence":"weekly","is_event_driven":false,"last_checked_at":"2026-07-01T06:12:00.268333Z","last_changed_at":"2026-07-01T06:12:00.268333Z","next_check_at":"2026-07-08T06:12:00.268333Z","change_state":null,"cache_etag":null,"cache_last_modified":null,"cache_status":null,"stale":false,"due_now":false,"due_reason":"within_cadence"},"evidence_posture":{"origin_lane":"search_council_exploratory","source_class":"exploratory","trust_posture":"exploratory","evidence_class":"source_evidence","access_posture":"fully_fetchable","promotion_status":"candidate","admissibility_status":"context_only","evidence_floor_status":"supporting_floor","evidence_floor_reason":"Exploratory and promoted material remains below the primary evidence floor until it earns stronger trust.","summary":"Exploratory and promoted material stays below the primary evidence floor.","reasons":["Explicit access posture hint: fully fetchable.","This source is still exploratory and has not cleared the promotion floor.","Exploratory sources remain context-only until they are promoted through discovery.","Exploratory and promoted material remains below the primary evidence floor until it earns stronger trust."]},"source_reliability":{"score":42.6,"band":"guarded","summary":"Source reliability is guarded at 42.6/100.","reasons":["Authority tier is tier_d, contributing to a guarded reliability posture.","Access/admissibility posture is context_only, so Orbital scores reliability with that trust ceiling in mind.","The source has 1 documents in Orbital, including 1 in the recent window.","This source came through discovery/promotion, so reliability is intentionally capped below a strong curated source unless history accumulates."],"factors":[{"name":"authority_tier","value":7.0,"reason":"Higher authority tiers carry more baseline reliability."},{"name":"source_class","value":4.0,"reason":"Curated and manually approved sources start from a stronger trust base than exploratory promotions."},{"name":"admissibility","value":4.0,"reason":"Access and admissibility posture should raise or limit downstream reliance."},{"name":"coverage_history","value":2.6,"reason":"Sources with more durable document history are more reliable than one-off appearances."},{"name":"operational_health","value":6.0,"reason":"Recent ingestion success is a bounded proxy for source stability."},{"name":"overclaim_risk","value":0.0,"reason":"Low-access or lightly observed sources should be scored more cautiously."}]},"lifecycle":{},"config_json":{"title":"How I Set Up Python for Professional AI Development","video_id":"PHICGGjN5Pc","channel_id":"UC4JX40jDee_tINbkjycV4Sg","fetched_at":"2026-07-01T06:08:11.917474+00:00","description":"Download PyCharm, free forever with the month of Pro included and a free AI trial: https://jb.gg/tt1\n\nVibe coding gets you started. A professional setup keeps you going. In this video I walk you through exactly how I set up Python for serious AI development — using the tools that top software engineers actually use, not just a CLI and a chat window.\n\nWant to make real money with coding? I share high-signal insights on careers, monetization, and leverage in my free newsletter. Join here and get my guide How to Make Money With Coding instantly: https://techwithtim.net/newsletter\n\n🚀 Tools I Use\nGet 10% off with code techwithtim\nOpenclaw setup: https://www.hostinger.com/techwithtim\nVPS setup: https://www.hostinger.com/techwithtim10 \nWispr Flow (Best AI Dictation): https://ref.wisprflow.ai/TechWithTim-jun26\n\n🎞 Video Resources 🎞\nUV Guide: https://www.youtube.com/watch?v=6pttmsBSi8M\nOfficial GitHub MCP: https://github.com/github/github-mcp-server\n\n⏳ Timestamps ⏳\n00:00 | Overview\n01:12 | Why Y","topic_seeds":["AI Systems Discovering Non-Obvious Model Configurations"],"caption_kind":"asr_auto","channel_name":"Tech With Tim","published_at":"2026-06-30T13:00:37Z","transcript_text":"Stop vibe coding and do this instead.\nNow look, AI models are great. We can\ngenerate massive amounts of code, they\nsave us hundreds, probably thousands of\nhours of time, and we can generate some\nreally interesting products with them.\nBut when you want to become a\nprofessional software engineer, the way\nyou use AI needs to change. You can't\nsimply just prompt the model all the\ntime. There are situations where you\nneed to go in and you need to read the\ncode, you need to look up definitions,\nyou need to run a debugger, and\nespecially when something goes wrong\nwith the model, you have to have the\nright tool to be able to solve those\nproblems. So in this video, I'm going to\nshow you how to set up Python for\nprofessional AI development. Now what I\nmean by that is not writing AI\napplications, but using AI in a\nprofessional manner so that you can work\nlike the top software engineers do. This\nmeans we're not purely just relying on\ncloud code, we're using a professional\nIDE with the correct AI integrations,\nwe're setting up MCP servers, skills,\ndebuggers, profilers, whatever, all of\nthose kinds of things so that we get all\nof those professional tools plus the AI\nso we can be extra productive. And\nagain, work like a real professional\ndeveloper, not a vibe coder. So with\nthat said, let's get into the video, let\nme show you the exact setup. I guarantee\nyou're going to learn something. So what\nI'm going to do here is show you how to\nset up your environment so you get\naccess to all of the features that I\nmentioned previously. Now in order to do\nthat, we are going to need an IDE or an\nintegrated development environment. Now\nfor this video, I'm going to be using\nPyCharm. The reason for that is that\nwhenever I work in large Python\napplications, this is the editor or IDE\nthat I use because it's specifically\ndesigned for working with Python. I\nmean, the name literally has Python or\nPi inside of it. So it has native\nintegrations with things like FastAPI,\nit has great support for machine\nlearning, AI development, notebooks, all\nof the stuff that you would do with\nPython, it's built specifically for\nthat. With smaller applications, it\ndoesn't really matter, you can use\nanything that you want, but again, I'm\nfocusing on more of the professional\nworkflow here where if if actually want\nto level up as a developer, you're going\nto want to use a tool that has a lot\nmore features that's designed for the\nlanguage and libraries that you're\nusing. So, anyways, the first step in\nthis video, if you don't already have\nit, is going to be to download PyCharm.\nThis is free to use. They do have a pro\nversion of this that unlocks some more\nfeatures, gives you, for example,\nadditional AI usage and credits, and\nthere's some subscriptions related to\nthat that I'll go over later. But,\ngenerally speaking, you can use all of\nthis completely for free, and that's one\nof the reasons that I've teamed up with\nJetBrains and PyCharm for this\nparticular video cuz they've been a\nlong-term sponsor of the channel, and I\npersonally love their product. So,\nanyways, I'll leave a link to it in the\ndescription, and then what we're going\nto do is just open up the PyCharm\napplication, and I'm going to start\ngoing through all of the different kind\nof features and showing you how to use\nthis professionally. I'm going to show\nyou how to set up the AI agents, how to\nbring in different models, everything\nthat I know you guys want to see. So,\nfirst things first, when we open up\nPyCharm, we're just going to want to\ncreate a new project. We're just going\nto do this for kind of demo purposes,\nand then, of course, if you're working\nin a larger code base, you just open\nthat up. So, what I'm going to do for\nnow is just go with new project. When I\ngo new project, I have a lot of options\nhere within PyCharm. I can choose the\nframework, so I'm going to go with\nFastAPI, and we'll just build out like a\nsimple app in this video, so you can see\nkind of the flow and the tools that we\nuse. I'm going to go with create Git\nrepository, and then we have the ability\nto choose the environment that we're\ngoing to use for our virtual\nenvironment. Now, the virtual\nenvironment in Python is super\nimportant. There's a lot of different\noptions for creating the virtual\nenvironment. Personally, I like to use\nUV. Now, if you don't know what UV is,\nit's really just a package manager for\nPython, very similar to pip, and it just\nhandles all of the dependencies for your\nPython project. So, in the case of\nFastAPI, like we need to install\nFastAPI, we would do that using UV, and\nI'll leave a video on screen that goes\nthrough how it works in case you want to\nlearn more. Anyways, you can choose\nwhatever virtual environment provider\nyou want. Again, I'm using UV. You can\nchoose the version for Python. I'll just\nleave it as default, and then the paths\nhere should be automatically populated,\nand I've just checked this to create a\nGit repository. I'm also going to put it\non my desktop, and then of course I can\nchange the name of the application if I\nwant. So for now, let's go ahead and\npress on create. That's going to open up\nPyCharm in a window that looks something\nlike this. What I'm going to do for now\nis just add this to Git, so these files\nthat are created automatically, and\nwe'll go from there. Now if it's your\nfirst time working in PyCharm or you're\njust opening up this project for the\nfirst time, you might get a few pop-ups\nhere. So for example, it's asking me to\nenable this feature, so I'll just go\nahead and do that and just enable this\nparticular workspace. And you may get a\nfew other things, for example, like\nasking you to enable the AI chat, um to\nput in a subscription key. Again, you'll\nget 1 month of the pro version for free\nif it's your first time, and then after\nthat you can just use it for free with\njust some of the features gone. But most\nof those features are not going to be\ncritical to you, and again are really\ndesigned for professionals, people\nworking at enterprises, etc. Okay. So\nfrom here, I just want to give you a\nquick kind of lay of the land in the\neditor because there is a lot going on\nhere, and it can be a little bit\noverwhelming. And then I want to start\ngetting right into the AI stuff so you\ncan understand how we can bring AI\nmodels, use different models, use\ndifferent agents, because you're not\nlocked into kind of the JetBrains\nprovided agent here. You can work with\nClaude code, you can work with Codex,\nyou can work with various other models\ndirectly inside of this editor, but you\nget the full suite of tools, which is\nthe reason why you would use it. Okay,\nso if we start kind of just going\nthrough here, on Mac and Windows it may\nbe a little bit different, but you\nshould have some big file menus at the\ntop. So just keep this in mind if you\nwant to open something, save something,\nlook at the settings, you can do that\nall from here. change the views,\nrefactor, tools. So if you're looking\nfor something specific, you know, check\nout this kind of file menu, and it will\nprobably show you where the command is.\nIf you want to search for a specific\ntool, you can go to this kind of search\nbar here. So in my case, like I'm zoomed\nin quite a bit in the editor so you guys\ncan see it, and I've also adjusted the\nfont size, so you can like increase or\nwhat is it, adjust the font size if you\nlike to do that. I like my text pretty\nlarge because I'm kind of blind. From\nhere, you'll also see a settings knob\njust to get you into the settings. So,\nif I click this, I've settings and\nplugins. There is a bunch of options\nhere, and we're going to be going\nthrough these menus in a second, and we\njust directly search for the features\nthat we want. Okay, now, of course, on\nthe left-hand side, you're going to have\nthe project view, so you can view all of\nthe different files that you have here.\nYou can close something, make a new\nfile. If you want to make a new one, you\ncan right-click and go new, and just\nselect the type that you want. And then,\nalso, if we go here, you have a Python\nconsole, where you can directly execute\ncode. So, you can say, you know, x\nequals two, x, and then you'll just get\nthe result of x here. As you can see,\nyou can debug, step through the code. We\nhave Python packages, so this will show\nyou the dependencies that are installed\nin this particular project. This is a\ncool feature of PyCharm that kind of\nhandles all of that for you\nautomatically. So, if we look at FastAPI\nhere, you'll see that it's recognized by\nthe particular editor. We can kind of\nhover over anything, and we can see what\nit actually is, the type of it. We get\nthe auto-complete. We can see what these\nroutes are, and view the docstrings of\nthem. And then, if we wanted to install\na new package, for example, maybe we\nwant, I don't know, SQLite or something,\nwe could search for it, just find the\nparticular package, have a look at it\nhere, and install. And of course, you\ncan install it from the terminal as\nwell, which you can view from this kind\nof window right here. But, if you just\nwant to use the built-in dependency\nmanager, you have that there. You also\nhave services, if you're running various\nAPIs or Docker containers or databases.\nYou have problems, so if there's any\nerrors or stuff like, so let's say I do\nsomething like this, it'll show up here,\nright in problems, saying it cannot\nresolve the type, if you want to quickly\nfind any mistakes. And then, you have\nthe Git view, where you can see what\nbranch you're on, any of the commits,\nand you can view that from here as well,\nfor the current commit and kind of\ncommit messages for Git. So, I know\nthere's a lot of stuff going on here,\nyou'll get more familiar with it later.\nAnd then, of course, you can reorganize\nor navigate through any of these views\nby kind of dragging them to the side,\nmoving them up and down, dragging them\nover where you want to move them,\nrearranging them. You guys get the idea.\nLet me move this back up here. Okay. So,\nnow that we've kind of gone through just\na general lay of the land in terms of\nwhat's here, let's start having a look\nat the AI setup because in 2026 and\nbeyond, that is the most important.\nOkay. So, how do you use AI inside of\nthis editor? Now, in order to do this,\nyou're going to want to toggle this AI\nchat window. You can find it on the\nright-hand side. If you can't find it\nfor some reason, just go here to view,\ngo to the tools windows, and then find\nAI assistant. From AI assistant, you can\nchange your agent. We're going to talk\nabout what that means in a second to\neither Claude, Codex, or Junie by\ndefault. If for some reason you want to\nuse a different type of agent, you can\ninstall that from the ACP directory.\nThis is, I think, agent context protocol\nor something. And you can see there's a\nton of different options here. So, this\nis fully open to you. If you bring in\nvarious other agents, obviously, you\ndon't have to use credits through\nJetBrains system because they have kind\nof a credit usage system by default with\ntheir Junie agent and through some of\nthe other agents that are here. But, if\nyou want to bring in your own, if you\nwant to use a local model, you can 100%\ndo that and you effectively just select\nwhatever model you want. Now, I want to\nmake a distinction here between agents,\nwhich you're kind of seeing like this,\nand then models. Because you'll notice\nthat I'm in Junie, but in Junie I have\nthe ability to select different models.\nNow, the way that you should view an\nagent is essentially like a coding\nharness. Now, coding harness is kind of\na specialized set of tools that actually\nruns an underlying model. So, the model\nis kind of like right? And effectively,\nall that's doing is just producing text\noutput. You give it some text in, it\ngets some text out. Now, Claude, Codex,\nJunie, these are what's called agent\nharnesses or model harnesses or whatever\nyou want to refer to them as. What they\ndo is they provide sets of tools and\nfeatures and kind of context engineering\nto the underlying model. So, if I look\nat Junie here, like I can use GPT 5.5.\nBut, if I I over to Codex here and we\ngo, yeah, into the agent mode, you can\nsee I also can use GPT 5.5. So the\ndifference is not the model, it's the\nharness or kind of the infrastructure\naround the model. So with Juni, this is\ndesigned specifically for working inside\nof JetBrains IDEs, you may get some\nbetter performance. And then of course\nClaude and Codex, if for some reason you\nprefer to use those, you can directly\ninside of this tool. Again, you may be\nusing the same underlying model, but you\nhave a different harness around it and\nyou need to play with those and see\nwhich one works best for you. That's why\nin different tools, again, you use the\nsame model but you get a different\nperformance from the model based on what\nthe tools are doing or the harness is\ndoing to engineer the context, provide\nthe skills, provide the MCP server\ndefinitions, all of that stuff that's\nworking in the background that's built\nby smarter people than us. So anyways,\nthat's kind of how this works in terms\nof selecting the various models. Now if\nyou want to go into more settings, you\ncan go here to the settings view from\nthese three dots and you can see a bunch\nof options here, for example, like your\nsubscription if you're going to use this\ndirectly from JetBrains, all of this\nstuff. And then if we open up kind of\nthis uh what is it larger view, you can\nsee we have the agents, we have model\ncontext protocol, I've added a MCP\nserver which I'll talk to you guys about\nlater, project settings, prompt\nlibraries. So if you want to add, you\nknow, uh what is it prompts that you can\nreuse, you can add them here. Providers\nand APIs, so this is one that you\nprobably want to pay attention to. From\nhere, this is where you can sign in to\nyour various accounts. So for example,\nmy Claude agent is using the JetBrains\nAI subscription. Juni is obviously\nmanaged by JetBrains. And then if I want\nto use my GPT subscription rather than\nthe uh JetBrains subscription, I can\nsign in directly here with my ChatGPT\naccount. So let me do that. And now I'm\nsigned in, so any of the usage that I\nhave here is going to go through my\nChatGPT subscription or my Codex\nsubscription or whatever, it's not going\nto go through JetBrains AI. Now if we go\nback to settings, I also just want to\nshow you the local model stuff. So if we\nwe a look at what is this providers and\nAPIs. We can also bring in other\nproviders. So, So, if I want to use\nGemini, anything open AI compatible, LM\nStudio, Ollama, I can just do that,\nright? So, I can go Ollama, I can put in\nthe Ollama URL, I can select a few\nfeatures here, and now I can start using\nlocal models. If I want to use LM\nStudio, same thing, I can connect to LM\nStudio, and then any models I have in\nthere that are connected, I can use them\ndirectly from here. So, it's fully up to\nyou what you want to do. And then, of\ncourse, we have rules. We'll look at\nthose later. Skills, so a skill\ndirectory, and then trusted domains, but\ndon't worry too much about that for\nright now. Okay, so that's effectively\nhow you kind of connect the AI, right?\nSo, we'll pick whatever we want to use.\nI'll just stick with Juni cuz I have the\nsubscription. And if you want to see\nyour usage here, you can click into this\nbutton at the top, and it will show you\nthe number of credits, when the credits\nrenew, and uh if you want to buy more\nfeatures, all of this kind of stuff.\nOkay, so let's start by just giving a\nfew prompts to the model. I'll typically\nenable this brave mode here and use one\nof the best models. So, I'm going to go\nGPT 5.5. And for now, I just want this\nto scaffold a fast API application for\nme so that I have enough code that we\ncan kind of move from there. So, what\nI'm going to do is the following. Can\nyou create a fast API CRUD application\nfor me that represents a library? I want\nPydantic types, I want routes, I want a\nmodular code base, and I want you to\nconnect to a SQLite database for all of\nthe operations that's running locally on\nmy computer. Build all of this out.\nOkay, so we're going to go ahead and\npress enter. And while that runs, I'll\njust let you guys know that what I'm\nusing to dictate here is a really cool\ntool called Whisper Flow. It's the best\nAI voice dictation. I have a long-term\npartnership with them, so I'll leave a\nlink to it in the description. It's free\nto use, and it's just very, very fast,\nvery good, automatically formats your\ntext, and most importantly, it's way\nfaster to talk than it is to type. You\ncan see my average words per minute is\n203. And if I click in, you can see, you\nknow, how much I use this. So, yeah,\nsure, they're a partner, but like I\nwould use this anyways. Okay, so let's\nwait for this to run. You'll notice that\nwith Juni specifically, this usually\nwill plan everything out quite detailed\nbefore it just jumps into it, which is\ngood, but can mean it takes a little bit\nlonger. And then it should start writing\nthe code. If you've enabled this brave\nmode, it should just automatically do\nthat for you. If you want approvals on\neverything, you can disable that. And if\nyou want extended thinking, then you can\nenable that, but obviously it's going to\ntake a little bit longer. All right, so\nit's wrapped up here. We can see that\nit's created the new files. We can click\nin and we can view all of the diffs here\nif we want to view that directly in the\neditor. And then of course, we can view\nall the files. So we have our\ndatabase.py, repository, schemas,\netc. Now, if you're specifically working\nwith SQL-related stuff inside of some\nproject here, what I'm going to\nrecommend you do is the following. If\nyou hover over this, you'll notice that\nit's kind of giving you this weird\ncolor, and it says no data sources are\nconfigured to run the SQL and provide\nadvanced code assistance. Disable the\ninspection via problem menu. So there's\na few things we can do here. First, we\ncan type SQL dialects. And if we go to\nSQL dialects, what we're able to do here\ninside of our settings is change the\nproject SQL dialect to be the one that\nwe're using, which in this case is\nSQLite. Now, this is going to tell\nPyCharm that this is the SQL syntax that\nwe want to use, so we'll automatically\nvalidate that for us and allow us to\nalso run SQL code, which you'll see in a\nminute. Now, another thing that we want\nto do is we want to hook up our database\nhere directly to the project. So if I go\nto the Databases tab, again, if you\ncan't find it, you can go here to uh\nview, tool window, and then find\ndatabases. And also keep in mind that\nthis may only be on the pro\nsubscription, so if you're using the\nfree version, I'm not sure if this one's\nincluded or not. But what you can do is\nyou can go here, you can go add data\nsource from file or folder. And now if I\ngo find my project, so desktop, I think\nFastAPI project, and I have this uh\nwhere is it here? library.sqlite file.\nSo you can see that that's right here,\nlibrary.db. I can actually just open\nthis up directly inside of here. So, you\ncan see I'm using the SQLite driver. If\nfor some reason that's not here, you can\ndownload the SQLite driver or select it,\nand then I can apply,\npress okay, and you'll see that it now\ngives me access to my database here, and\nI can actually go in and view\neverything. So, I can view the table. I\ncan see the indexes, right? In books,\nyou can see I don't have any rows. And\nthen if I want, I can run queries. So, I\ncan query\nin the console, and I can do something\nlike, you know, select asterisks,\nwhatever, from the table, and I can\nstart viewing all the results of the\nquery. So, you have the database viewer\ndirectly inside of here, which I find is\nquite useful. And now you're going to\nnotice that this goes away because I've\nconnected the database, so now PyCharm\ncan automatically hook up to this, start\nrunning queries, looking through the\ntable, etc. Okay, so at this point,\nhopefully you understand the AI\nconnection and how you talk with the AI\nchat, and how everything is kind of\nhooking up and connecting to one\nanother. All the stuff now you're going\nto see like all of our commits, right?\nThe whole structure of the code base. If\nyou go structure, you can see everything\nthat's in a particular file. This is all\nhere for a reason to make it easier for\nyou when you're working in large\nprofessional projects to understand\nwhat's going on. We also now are going\nto get this database changes tab that\npops up because we've connected the\ndatabase, and then of course you can\nview the Git diffs and stuff here. All\nright, so we have this set up. However,\nI want to go a little bit further with\nthe AI because I want to connect some\nMCP servers and start setting up skills\nand rules to make it easier for us to\nwork in this code base. So, what I'm\ngoing to do now is I am going to go to\nMCP servers. So, to get to MCP servers,\nI can go to settings here, and I can\njust search for MCP. When I do that, I\nshould be able to find Model Context\nProtocol down here and click into the\nview. Okay, so actually what I'm going\nto do, let me just delete this\nconfiguration, and then I'll make a new\none to show you how how to add the\nGitHub MCP. So, what we're going to do\nis we're going to press on this plus\nbutton here for MCP. We're going to\nswitch over to HTTP. And if we have a\nlook here at the GitHub official\ndocumentation for the MCP server, which\nI'll link below, you can see that we\nhave this thing say using a GitHub PAT.\nNow, what I'm going to do is just copy\nit a little bit different than you\ntypically see. So, I'm just going to\ntake this part here where it just says\nGitHub. So, I'm kind of in between\nservers and inputs, and I'm just\ngrabbing this part that says GitHub. So,\nI'm going to take that. I'm going to go\nto this part and replace this. So,\ninside MCP servers, I'm going to add\nGitHub. I think it's just lagging\nbecause we had this before, so I'm just\ngoing to go GitHub MC or {dash} MCP.\nOkay, and you'll see that we have this\ntype, URL, and then we have this\nheaders, authorization, and this bearer,\nand then this value. So, what I'm going\nto do is I'm going to replace this value\nright here with my GitHub personal\naccess token. Let me get it, and then\nI'll show you how to get it as well.\nOkay, so my token is in here. I'm not\ngoing to show you the rest of it. And\nthen once it's here, I'm just going to\ngo ahead and press on okay, and then I\ncan press and it should connect. Now, of\ncourse, for you it's not going to work\nhere because you don't have the personal\naccess token. So, here's how you get it.\nYou go to GitHub, you go to your\nprofile, make sure you're signed in\nobviously and you have an account. Go to\nsettings, and then scroll all the way to\ndeveloper settings. From developer\nsettings, go to personal access tokens.\nSo, actually sorry, for tokens I think\ntokens classic for me usually works\nbetter, so I'd make a classic token. Go\nto generate new token classic, and then\ninside here you want to select repo, and\nthen you're going to want to select the\nstuff for user, and you can kind of go\nthrough and see what you need access to.\nBut in most cases, I only need user, and\nthen what is it? Repo. And then when you\ndo that, you should be able to like\ncreate new repos. And then if you select\nthose, you should pretty much be good to\ngo. You can give it a name, whatever,\nand then go generate token. And then\nonce the token is generated, you just\ncopy it, and that's the value that\nyou're going to put where I showed you\nhere,\nauthorization. So, bearer space and then\nyour token, and then go ahead and just\npress on okay. Okay, and it should be\nadded. Now, if you want to test it, you\ngo to your agent. Hey, are you connected\nto the GitHub MCP server? What tools do\nyou have access to? You may need to just\nmake a new agent chat if it doesn't\nwork. So, just do a new chat so it\nrefreshes and let's see if it gives us\nthe result. Okay, so you can see it has\naccess. So, now anything we want to do\nwith Git, we can just tell it. So, I can\nsay, make a new public GitHub repository\nand then push all of the code from this\nproject to that repo, set it up as the\nremote origin and use that in the\nfuture.\nOkay, and we'll go ahead and press enter\nand it should just make a new repo for\nus on GitHub. Okay, so it's in the\nprocess of doing this right now, but I\ncan just see that it made this new repo,\nfast API project. Hasn't pushed the code\nto it yet. That's what it's going to do\nright now. And then of course, we can\nalways check on what's going on in this\nGit uh what is it?\nUh project here or Git uh view where it\nsays what it's doing, the commits it's\nmaking, all of this kind of stuff and we\ncan see the remote. So, it looks like it\nhas created it and now it's just going\nto push the project. Okay, and it says\nit's finished. So, if I go here, you can\nsee now the project is here. And Tech\nWith Tim and Juni Agent have pushed this\ncode up to the repo. Perfect. So, that\nis pretty much good. We're connected to\nthe MCP. Next, I want to talk about\nrules and skills. So, if we go back to\nour settings and we search for rules,\nyou can see that there is a rules folder\nunder AI Assistant. Now, what we're able\nto do here is make new project rules. We\nalso can tell the agent to make these,\nbut I just wanted to show you that\nthere's a few for doing this. And a rule\nis something that's always going to be\ninjected into the prompt anytime you\nchat with the various agents. So, if I\nwant to make a new rule,\nI can do something like always\ncommit.\nAnd then I can just, yeah, let's add\nthis to get. Okay, and for this rule, we\ncan see it's created now and what I need\nto do is obviously write it. So, if I go\nback to the view, you'll see there's\nthis new folder now, AI Assistant rules\nand always commit.md is here. I can\nchoose how I want the rule to be\napplied, and then I can populate it with\nwhatever I want. So, I can say \"Always\ncommit any major changes to get before\nproceeding.\"\nOkay, super simple rule. And now anytime\nthat this is doing something, it should\nbe following this rule and automatically\npushing changes to get. You can make\nmultiple different rules. Again, you can\nmake them manually, you can tell the\nagent to make them, but it's typically\ngood practice to set them up and then\nstage them in get so your other\nteammates will have the same rules when\nthey're doing development. Okay, so I'm\ngoing to delete that rule, or not delete\nit, but just remove this folder. And now\nI want to talk about skills. If you\ndon't yet know what a skill is,\neffectively, it's a reusable workflow\nthat can be read by the agent\ndynamically whenever it needs to do\nsomething that's kind of documented or\nthat it does frequently. So, you could\nhave a skill that explains how to deploy\nthe project or do a security check or\nwhatever, you know, anything you want\nyou can wrap into a skill. I'll show you\nhow we can install pre-built skills and\nthen how we can make our own. So, in\nterms of skills, what we can do is we\ncan go to settings, we can search for\nskills, and you'll see that it brings us\nto the skill hub, which is built in here\nto PyCharm. Now, from here, you have the\nability to import any skills that you\nhave from other IDEs or agents, or you\ncan look at the installed skills. So,\nyou see I have some from Codex that are\nautomatically brought in, and then you\ncan search for various skills. So, let's\nsay we want, I don't know, back end. Is\nIs there a skill for back end? Yeah, we\nhave modern web guidance, you know,\nKotlin back end, whatever. We could just\ninstall this, and then we can use it\ndirectly inside of the chat, and you can\nalso install it for specific agents if\nyou want. So, PyCharm fast API Codex,\nyou guys get the idea. These are just\nskills that come from the skills hub\nthat's built into PyCharm. If you want\nto import your own skills, you can do\nthat easily by just putting them into\nthe correct folder. If you want to\nimport your own skills, you can do that\neasily by just making them or putting\nthem in the correct folder, and then you\ncan see that you can manage the skills\ndirectory right here by choosing where\nyou want to grab them.\nAnd you can manage the external\nregistries if you want to add various\nother skill directories directly inside\nof here.\nOkay. So, in my case, I installed the\nsecurity best practices skill. If you\nwant, you can just search for it, you'll\nfind it. And if I wanted to try to use\nit, I can just type try in chat. You'll\nsee that by default, it will go to the\nClaude agent because that's the one that\nit's installed for, and then I could\nstart chatting with it. Now, if you\ndon't want to use it in this agent or\nyou want to make your own skill, let's\nsay we go back to Juni here, I can say,\n\"Hey, make a skill that just outlines\nthe stack for my project. So, anytime we\nneed to understand the tooling or\nframeworks that we're using, we can\ninvoke this skill.\" And then if I do\nthat, it should just automatically make\na new skill for me and put that in the\nJuni agent directory. Give it a second\nand see if it gives us that. All right,\nso it's completed now. We can see we've\ngot a new skill file. This is what the\nskill file looks like. You can see at\nthe beginning, we have a name and the\ndescription, and then when the agent\nneeds it, it can read the entire file,\nand this just explains what stack to\nuse. This is a poor example of a skill,\nbut I'm just showing you that you can\ncreate them. And by the way, if you have\nmarkdown here, you can actually preview\nwhat the markdown looks like directly in\nhere, which I do all the time. You can\nsee the images, all this stuff like by\nviewing this. Okay. So, we have this\nskill. This skill is now put in this\nJuni folder under skills and project\nstacks. You could just manually create\nthere as well. And if you ask the agent\nto do something that involves the use of\nthe skill, it should use that\nautomatically. So, if you say something\nlike, \"What is the project stack? Use\nthe project stack skill.\" Again, I'm\nbeing very explicit, then you should see\nthat it's going to go. See, it says\nskills update. Boom, looks at the skill,\nand then it will give us the information\nbased on what's inside of here because\nit's reading the skill document. Okay,\nso I think we've gotten a sense of kind\nof using the AI chat. Of course, you can\njust ask it to generate whatever you\nwant. Typically, it is a better idea to\nget it to create a plan first. We're not\nreally building a large app right now,\nso I don't need that at the moment.\nYou'll notice there is already a plans\nfolder created for us because it likes\nto outline what it's working on, and\nthis is best practice, kind of doing\nspec-driven development. Anyways, I'm\nnot going to get into that too much.\nWhat I want to show you now is more of\nvalidating the application once it's\ncreated because this is where this tool\nreally comes in as opposed to purely\nvibe coding or using cloud code or a CLI\nbased tool, etc. So, you'll notice right\naway actually that there's this test\nmain.http folder that will be your file\nstory that will be created for you when\nyou make a new FastAPI app. You can make\nmultiple of them, you can organize them,\nyou can rename them, but this will\nactually allow you to automatically send\nrequests to your API and have kind of a\nfile with tests you can view what's\ngoing on. Now, of course, you can write\nPytest tests and that's natively\nsupported inside of PyCharm, but if you\njust want to do quick endpoint test, you\ncan do that here and you can configure\nan environment in terms of running it if\nyou want to add different credentials,\nAPI connections, etc. Now, in order for\nthis to work, we do need to run the\napplication. So, to run it, you should\nhave a build automatically configured.\nIf you don't, you can go to\nconfiguration, go to edit, and you can\nmake a new build. So, you have run debug\nconfigurations, right? So, what I can do\nis for FastAPI here, I can do plus, go\nokay, I want to run a new FastAPI\napplication. The name is name, whatever.\nThe application file is, select the file\nthat you want to run, select the name or\nauto detect. You can set up the\nenvironment if you want to load in\ndifferent environment variables, maybe\nyou have a staging, a production, a\ndevelopment environment. Choose your\ninterpreter. You can do everything here\nand set it up so that you can launch it\nproperly. Now, again, by default, it\nwill give you a configuration which you\ncan look at as a reference. So, you see\nwe're going to run with Uvicorn, we're\ngoing to reload, we have maybe an\nenvironment variable file we want to\nbring in. Here's the application file.\nSo, what I can do is select FastAPI\nproject\nand then run. And when I run that, it\nwill automatically spin that up for me\nin the dedicated terminal. Now, from\nhere, once this is running,\nof course, I could just open this. So,\nif I open up this uh folder, you can see\nor this directory or whatever link we\nget this. If I go to /docs cuz it's\nFastAPI, you can see I have everything\nhere and if I want to do and if I want\nto do maybe a test execution, I can try\nit out, execute and you see we're going\nto get the logs down here in terms of\ncalling books. Now, as well as that, if\nwe now go back to test main, if I want\nto execute these, I can run them all and\nwhen I do that, if we open this up a\nlittle bit larger,\nyou're going to see that we get the\nrequest, we get the response and we can\nverify everything directly inside of\nhere and it all gets saved into this\nJSON file where you can see what the\nresponse actually is. This is super\nuseful if there's a lot of end points\nthat you want to be testing, so you can\nmake sure you're getting the correct\nstatus code back, you can make sure that\nit's actually creating what you want.\nAgain, if we go in and we see, okay,\nthis is what was created when we tried\nto create a new book.\nPerfect. And then at the same time, we\ncan go view our database, right? We go\nback into books and we can see now that\nwe have a new book created, we can\ndelete it, we can query it, we can move\nit around, we can view it in a table\nviewer, right? There's just so many\nthings that are going on here that are\nsuper helpful when the application gets\nlarger to validate what's occurring.\nNow, as well as that, we talk about\ndebuggers. So, the app is running right\nnow, I can stop it up here\nand what I'm going to do is start\nshowing you how to add break points and\ntest the application a little bit\nbetter. So, let's say we're inside of\nbooks, right? And maybe I want to test\nthe, I don't know, read book route and\njust make sure it's working. What I can\ndo is place a break point, it's this red\ndot here by just pressing in what's\ncalled the gutter or like the line\nnumber and I can add as many break\npoints as I want. Now, the way this\nworks is that there's a native debugger\nbuilt into PyCharm. A debugger allows\nyou to step through the code and view\nall of the variables and state at the\ncurrent point in which the break point\noccurred. So, what will happen is the\napp will just run normally when I run it\nin this debug mode, which you'll see in\na second, but it will stop execution and\nfreeze at any break point and you can\nhave multiple break points that you\nplace. As soon as you get to the break\npoint, it's going to give you a set of\ncontrols, which I'll show you, which\nwill allow you to step through the code\nand view any of the state changes that\nare occurring. So, you can more\naccurately and just more easily see\nwhat's actually going on to potentially\nmake changes. So, let's make this maybe\na bit smaller so we can see. And to run\nthis with the\nwith the debugger and breakpoints\nactive, you can press on this run in\ndebug mode here. Again, you'll notice\nthat it's going to spin up and nothing\nwill happen at the beginning because we\nhaven't yet hit a breakpoint. But now if\nI go to my let's maybe just open this up\nhere. Let's go to our test file.\nAnd let's just run all of this. When we\nrun all of this, what will happen is\nyou'll see that immediately we're going\nto get brought into this debug view. So,\nwhat happened is when I ran that, one of\nmy endpoints hit a breakpoint. So, I\nwent to read book or I went to replace\nbook and we hit the endpoint and you can\nsee I'm now here.\nAnd what I can do now is I can start\nstepping through this code. So, there's\na lot of stuff going on, but what I can\ndo is use these buttons right here. Now,\nit's not a full debugger tutorial, but\nyou'll see that we have all the\ndifferent variables defined. So, in this\ncase we have book ID is equal to one.\nAnd if I press this step over here, what\nI'm going to do is move to the next\nline. And I can start stepping through\nthese various lines. I can step into\nfunctions. I can step out of over into\nit's a little bit complicated. And what\nwill happen is we'll kind of just go\nline by line. can see I go here. I can\nsee what the values are. I can keep\ngoing. You see that I hit this next\nbreakpoint now because this one was\nfinished and now we're trying to update\nthe book. I can see, okay, this is the\nbook state itself. I can view all of the\ndifferent values, variables, properties.\nAgain, I don't want to spend too much\ntime here, but the point is that this\ndebugger is extremely useful in large\napplications and really what you should\nbe doing as opposed to print debugging.\nSo, at any point if I want to quit out\nof this, I can just press continue and\nthat'll go until the next breakpoint or\nI can just quit it, right? And then I'm\ngoing to shut the application down and\nget out of this debug view. And then if\nI want to run it normally again, I press\nthe normal run button. And of course,\nthere are a lot of other features here.\nSo for example, you can see all of the\nroutes here automatically being\npopulated for us because it has What is\nit? Fast API support. If we're in the\npro version of PyCharm, there's actually\na view that we can go to. Let me find\nview, tool window, and if I find\nendpoints here, you'll see that it\nactually shows us all of the endpoints\nthat are defined in our app. And if we\nclick in, we can actually directly test\nthem from here assuming that the server\nAPI is running. So that's kind of a nice\nfeature of you know, PyCharm and the\nfact that it has that Fast API support.\nContinuing, if we look at some other\nwindows, we have hierarchy view, Jupiter\nvariables, we have the to-do list. If we\ncreate these like to-do comments, you\ncan do like to-do, you know, update this\nso that you remember to do it. And then\nif you go here and you go to to-dos, we\ncan check it out and that's will be down\nhere and we can see the to-dos that we\nneed to complete.\nContinuing, we also have coverage. So if\nyou're working with CI/CD and you're\nfamiliar with test coverage, there is\nsomething related to that, but I'm not\ngoing to get into that. Okay, so\ncontinuing here, let me just show you a\nfew last things. Of course, there's so\nmany features, so it's hard to kind of\ncover it all. One thing I do all the\ntime, especially in a large code base,\nis kind of exploring the code base. So\nthere is a search feature here called\nfind. If you're finding, you can search\neverywhere, you can search in particular\nfiles. And if for example, I search for\nI don't know,\nFast API, you can see that I can search\ndirectly in the repo and try to find\ninstances of where this exists. I also\ncan do all kinds of filters and stuff\nfor the search, look for files, symbols,\nactions, text, etc. depending on what\nI'm trying to find. That's pretty\nstraightforward, just kind of a find\ntool. Now, let's say there's this book,\nright? I'm like, okay, what is this book\ntype? Like I don't really understand.\nFirst, I can hover over it. If I hover\nover it, it's going to define where it\nactually is. But what I typically do is\nwe'll right click on it and go go to and\nand go to the definition or the\ndeclaration. So, there's a lot of, you\nknow, stuff that you can look at here.\nBut, if I go to type declaration, for\nexample, it will bring me right to book.\nSo, a lot of times when you're stepping\nthrough code, what you'll want to be\ndoing is doing that. So, for example, if\nwe go, you know, database,\nuh actually, maybe let's go repository.\nYeah, so let's say we've imported book\ncreate, right? And we don't know where\nthat is. Well, I can just go here, go\nfind, go to type declaration. Boom, I\nsee book create is right here, and I can\nvery easily step into that code.\nSo, just showing you that exists. We\nalso have the ability to, for example,\nmaybe refactor something. So, let's go\nback here. So, go to type declaration.\nMaybe you want to refactor this. We can\nright click it and then go refactor, and\nwe can rename or introduce a variable,\nconstant. There's advanced refactoring\nin this tool. So, when I go rename here,\nI have a lot of options. First of all,\nit's going to give me an AI suggestion\nof what to use. But, let's say maybe I\ndo book create two. What I can do now is\nI can also rename this in the text\noccurrences or in comments and strings.\nAnd then, as soon as I'm done, I can\npress enter. It's going to open up this\nwindow right here, and it's going to\nshow me where this is used. So, it's\ngiving me a a preview, essentially, of\nwhere all of the refactoring is. I can\ndeselect them, select them if I want,\nright? Um to not actually do the\nrefactor. And then, I can press\nrefactor, and when I do that, it should\nrefactor everything for me. So, if I go\nhere, you can see book create two. If I\ngo here, book create two. So, it changes\nthe name everywhere in the application\nautomatically. And again, with kind of\nthat advanced, you know, uh what is it\nstuff that we were talking about here.\nAnd then, there is a lot more tools on\nthe side here for doing this. But,\nanyways, that's the uh the idea. Okay,\nso let me get out of that, and that is\npretty much going to wrap this up, guys.\nSo, I know this was a long video, but I\nwanted to show you how you set up a\nprofessional workflow, the tools that\nyou can use, how you use a proper\neditor. So, you guys can get out of\nthese CLI-based tools, you can get out\nof just prompting, and understand what\nactually happens when you have a large\napplication that you need to maintain,\nchange, update, deploy, view databases,\nand why people reach for something like\nthis when you start becoming a\nprofessional. If you're not already, I\nwould recommend using a tool like this,\nget familiar with it, use it all the\ntime, get comfortable, set up your\nkeyboard shortcuts, your binds, your\nthemes, all of that kind of stuff, so\nthat you can be as efficient as\npossible, especially in this era of AI.\nSo, that's it, guys. Going to wrap up\nthe video here. If you enjoyed, make\nsure to leave a like, subscribe, and\nI'll see you in the next one.\n>> [music]","duration_seconds":2112,"is_auto_generated":true,"transcript_source":"youtube_transcript_api","transcript_status":"available","asr_quality_weight":0.6,"transcript_segments":[{"text":"Stop vibe coding and do this instead.","start":0.0,"duration":5.24},{"text":"Now look, AI models are great. We can","start":3.28,"duration":3.72},{"text":"generate massive amounts of code, they","start":5.24,"duration":3.76},{"text":"save us hundreds, probably thousands of","start":7.0,"duration":3.96},{"text":"hours of time, and we can generate some","start":9.0,"duration":3.92},{"text":"really interesting products with them.","start":10.96,"duration":2.84},{"text":"But when you want to become a","start":12.92,"duration":3.12},{"text":"professional software engineer, the way","start":13.8,"duration":4.52},{"text":"you use AI needs to change. You can't","start":16.04,"duration":3.92},{"text":"simply just prompt the model all the","start":18.32,"duration":3.48},{"text":"time. There are situations where you","start":19.96,"duration":3.36},{"text":"need to go in and you need to read the","start":21.8,"duration":3.2},{"text":"code, you need to look up definitions,","start":23.32,"duration":3.32},{"text":"you need to run a debugger, and","start":25.0,"duration":3.12},{"text":"especially when something goes wrong","start":26.64,"duration":2.8},{"text":"with the model, you have to have the","start":28.12,"duration":3.16},{"text":"right tool to be able to solve those","start":29.44,"duration":3.96},{"text":"problems. So in this video, I'm going to","start":31.28,"duration":3.76},{"text":"show you how to set up Python for","start":33.4,"duration":4.04},{"text":"professional AI development. Now what I","start":35.04,"duration":3.88},{"text":"mean by that is not writing AI","start":37.44,"duration":3.44},{"text":"applications, but using AI in a","start":38.92,"duration":4.0},{"text":"professional manner so that you can work","start":40.88,"duration":4.36},{"text":"like the top software engineers do. This","start":42.92,"duration":4.16},{"text":"means we're not purely just relying on","start":45.24,"duration":3.8},{"text":"cloud code, we're using a professional","start":47.08,"duration":4.72},{"text":"IDE with the correct AI integrations,","start":49.04,"duration":5.48},{"text":"we're setting up MCP servers, skills,","start":51.8,"duration":5.12},{"text":"debuggers, profilers, whatever, all of","start":54.52,"duration":4.52},{"text":"those kinds of things so that we get all","start":56.92,"duration":4.76},{"text":"of those professional tools plus the AI","start":59.04,"duration":4.2},{"text":"so we can be extra productive. And","start":61.68,"duration":3.4},{"text":"again, work like a real professional","start":63.24,"duration":4.24},{"text":"developer, not a vibe coder. So with","start":65.08,"duration":3.92},{"text":"that said, let's get into the video, let","start":67.48,"duration":3.84},{"text":"me show you the exact setup. I guarantee","start":69.0,"duration":3.68},{"text":"you're going to learn something. So what","start":71.32,"duration":2.52},{"text":"I'm going to do here is show you how to","start":72.68,"duration":2.56},{"text":"set up your environment so you get","start":73.84,"duration":2.88},{"text":"access to all of the features that I","start":75.24,"duration":3.64},{"text":"mentioned previously. Now in order to do","start":76.72,"duration":4.4},{"text":"that, we are going to need an IDE or an","start":78.88,"duration":4.24},{"text":"integrated development environment. Now","start":81.12,"duration":3.52},{"text":"for this video, I'm going to be using","start":83.12,"duration":3.44},{"text":"PyCharm. The reason for that is that","start":84.64,"duration":3.72},{"text":"whenever I work in large Python","start":86.56,"duration":4.2},{"text":"applications, this is the editor or IDE","start":88.36,"duration":4.24},{"text":"that I use because it's specifically","start":90.76,"duration":3.76},{"text":"designed for working with Python. I","start":92.6,"duration":3.96},{"text":"mean, the name literally has Python or","start":94.52,"duration":3.92},{"text":"Pi inside of it. So it has native","start":96.56,"duration":4.12},{"text":"integrations with things like FastAPI,","start":98.44,"duration":3.84},{"text":"it has great support for machine","start":100.68,"duration":4.08},{"text":"learning, AI development, notebooks, all","start":102.28,"duration":3.72},{"text":"of the stuff that you would do with","start":104.76,"duration":3.28},{"text":"Python, it's built specifically for","start":106.0,"duration":3.6},{"text":"that. With smaller applications, it","start":108.04,"duration":2.64},{"text":"doesn't really matter, you can use","start":109.6,"duration":2.6},{"text":"anything that you want, but again, I'm","start":110.68,"duration":3.2},{"text":"focusing on more of the professional","start":112.2,"duration":3.32},{"text":"workflow here where if if actually want","start":113.88,"duration":3.12},{"text":"to level up as a developer, you're going","start":115.52,"duration":3.12},{"text":"to want to use a tool that has a lot","start":117.0,"duration":3.48},{"text":"more features that's designed for the","start":118.64,"duration":3.28},{"text":"language and libraries that you're","start":120.48,"duration":3.2},{"text":"using. So, anyways, the first step in","start":121.92,"duration":2.8},{"text":"this video, if you don't already have","start":123.68,"duration":2.92},{"text":"it, is going to be to download PyCharm.","start":124.72,"duration":4.399},{"text":"This is free to use. They do have a pro","start":126.6,"duration":4.12},{"text":"version of this that unlocks some more","start":129.119,"duration":3.321},{"text":"features, gives you, for example,","start":130.72,"duration":3.76},{"text":"additional AI usage and credits, and","start":132.44,"duration":3.32},{"text":"there's some subscriptions related to","start":134.48,"duration":2.8},{"text":"that that I'll go over later. But,","start":135.76,"duration":2.88},{"text":"generally speaking, you can use all of","start":137.28,"duration":3.08},{"text":"this completely for free, and that's one","start":138.64,"duration":3.12},{"text":"of the reasons that I've teamed up with","start":140.36,"duration":3.08},{"text":"JetBrains and PyCharm for this","start":141.76,"duration":3.12},{"text":"particular video cuz they've been a","start":143.44,"duration":3.12},{"text":"long-term sponsor of the channel, and I","start":144.88,"duration":2.8},{"text":"personally love their product. So,","start":146.56,"duration":2.44},{"text":"anyways, I'll leave a link to it in the","start":147.68,"duration":2.72},{"text":"description, and then what we're going","start":149.0,"duration":3.0},{"text":"to do is just open up the PyCharm","start":150.4,"duration":3.16},{"text":"application, and I'm going to start","start":152.0,"duration":3.48},{"text":"going through all of the different kind","start":153.56,"duration":3.88},{"text":"of features and showing you how to use","start":155.48,"duration":3.28},{"text":"this professionally. I'm going to show","start":157.44,"duration":2.84},{"text":"you how to set up the AI agents, how to","start":158.76,"duration":3.199},{"text":"bring in different models, everything","start":160.28,"duration":3.16},{"text":"that I know you guys want to see. So,","start":161.959,"duration":2.921},{"text":"first things first, when we open up","start":163.44,"duration":2.88},{"text":"PyCharm, we're just going to want to","start":164.88,"duration":3.16},{"text":"create a new project. We're just going","start":166.32,"duration":3.639},{"text":"to do this for kind of demo purposes,","start":168.04,"duration":3.0},{"text":"and then, of course, if you're working","start":169.959,"duration":2.681},{"text":"in a larger code base, you just open","start":171.04,"duration":2.919},{"text":"that up. So, what I'm going to do for","start":172.64,"duration":3.24},{"text":"now is just go with new project. When I","start":173.959,"duration":3.761},{"text":"go new project, I have a lot of options","start":175.88,"duration":3.76},{"text":"here within PyCharm. I can choose the","start":177.72,"duration":3.12},{"text":"framework, so I'm going to go with","start":179.64,"duration":3.12},{"text":"FastAPI, and we'll just build out like a","start":180.84,"duration":4.24},{"text":"simple app in this video, so you can see","start":182.76,"duration":3.88},{"text":"kind of the flow and the tools that we","start":185.08,"duration":3.879},{"text":"use. I'm going to go with create Git","start":186.64,"duration":4.4},{"text":"repository, and then we have the ability","start":188.959,"duration":3.601},{"text":"to choose the environment that we're","start":191.04,"duration":2.72},{"text":"going to use for our virtual","start":192.56,"duration":2.56},{"text":"environment. Now, the virtual","start":193.76,"duration":2.84},{"text":"environment in Python is super","start":195.12,"duration":3.2},{"text":"important. There's a lot of different","start":196.6,"duration":3.0},{"text":"options for creating the virtual","start":198.32,"duration":3.52},{"text":"environment. Personally, I like to use","start":199.6,"duration":4.08},{"text":"UV. Now, if you don't know what UV is,","start":201.84,"duration":3.52},{"text":"it's really just a package manager for","start":203.68,"duration":4.16},{"text":"Python, very similar to pip, and it just","start":205.36,"duration":4.08},{"text":"handles all of the dependencies for your","start":207.84,"duration":3.04},{"text":"Python project. So, in the case of","start":209.44,"duration":2.84},{"text":"FastAPI, like we need to install","start":210.88,"duration":4.16},{"text":"FastAPI, we would do that using UV, and","start":212.28,"duration":4.12},{"text":"I'll leave a video on screen that goes","start":215.04,"duration":2.68},{"text":"through how it works in case you want to","start":216.4,"duration":2.839},{"text":"learn more. Anyways, you can choose","start":217.72,"duration":3.239},{"text":"whatever virtual environment provider","start":219.239,"duration":4.401},{"text":"you want. Again, I'm using UV. You can","start":220.959,"duration":4.401},{"text":"choose the version for Python. I'll just","start":223.64,"duration":3.44},{"text":"leave it as default, and then the paths","start":225.36,"duration":3.68},{"text":"here should be automatically populated,","start":227.08,"duration":3.68},{"text":"and I've just checked this to create a","start":229.04,"duration":3.479},{"text":"Git repository. I'm also going to put it","start":230.76,"duration":3.32},{"text":"on my desktop, and then of course I can","start":232.519,"duration":3.161},{"text":"change the name of the application if I","start":234.08,"duration":3.28},{"text":"want. So for now, let's go ahead and","start":235.68,"duration":3.72},{"text":"press on create. That's going to open up","start":237.36,"duration":3.96},{"text":"PyCharm in a window that looks something","start":239.4,"duration":3.68},{"text":"like this. What I'm going to do for now","start":241.32,"duration":3.76},{"text":"is just add this to Git, so these files","start":243.08,"duration":3.56},{"text":"that are created automatically, and","start":245.08,"duration":2.76},{"text":"we'll go from there. Now if it's your","start":246.64,"duration":3.04},{"text":"first time working in PyCharm or you're","start":247.84,"duration":3.36},{"text":"just opening up this project for the","start":249.68,"duration":3.0},{"text":"first time, you might get a few pop-ups","start":251.2,"duration":3.32},{"text":"here. So for example, it's asking me to","start":252.68,"duration":3.2},{"text":"enable this feature, so I'll just go","start":254.52,"duration":3.04},{"text":"ahead and do that and just enable this","start":255.88,"duration":3.4},{"text":"particular workspace. And you may get a","start":257.56,"duration":3.36},{"text":"few other things, for example, like","start":259.28,"duration":4.2},{"text":"asking you to enable the AI chat, um to","start":260.92,"duration":4.48},{"text":"put in a subscription key. Again, you'll","start":263.48,"duration":3.96},{"text":"get 1 month of the pro version for free","start":265.4,"duration":3.36},{"text":"if it's your first time, and then after","start":267.44,"duration":2.8},{"text":"that you can just use it for free with","start":268.76,"duration":3.24},{"text":"just some of the features gone. But most","start":270.24,"duration":2.679},{"text":"of those features are not going to be","start":272.0,"duration":2.28},{"text":"critical to you, and again are really","start":272.919,"duration":3.121},{"text":"designed for professionals, people","start":274.28,"duration":4.639},{"text":"working at enterprises, etc. Okay. So","start":276.04,"duration":4.12},{"text":"from here, I just want to give you a","start":278.919,"duration":3.121},{"text":"quick kind of lay of the land in the","start":280.16,"duration":3.759},{"text":"editor because there is a lot going on","start":282.04,"duration":2.92},{"text":"here, and it can be a little bit","start":283.919,"duration":2.681},{"text":"overwhelming. And then I want to start","start":284.96,"duration":3.44},{"text":"getting right into the AI stuff so you","start":286.6,"duration":3.68},{"text":"can understand how we can bring AI","start":288.4,"duration":4.0},{"text":"models, use different models, use","start":290.28,"duration":3.8},{"text":"different agents, because you're not","start":292.4,"duration":3.44},{"text":"locked into kind of the JetBrains","start":294.08,"duration":3.72},{"text":"provided agent here. You can work with","start":295.84,"duration":3.72},{"text":"Claude code, you can work with Codex,","start":297.8,"duration":3.64},{"text":"you can work with various other models","start":299.56,"duration":3.64},{"text":"directly inside of this editor, but you","start":301.44,"duration":3.44},{"text":"get the full suite of tools, which is","start":303.2,"duration":3.24},{"text":"the reason why you would use it. Okay,","start":304.88,"duration":2.68},{"text":"so if we start kind of just going","start":306.44,"duration":3.12},{"text":"through here, on Mac and Windows it may","start":307.56,"duration":3.12},{"text":"be a little bit different, but you","start":309.56,"duration":3.28},{"text":"should have some big file menus at the","start":310.68,"duration":4.16},{"text":"top. So just keep this in mind if you","start":312.84,"duration":3.8},{"text":"want to open something, save something,","start":314.84,"duration":3.44},{"text":"look at the settings, you can do that","start":316.64,"duration":3.76},{"text":"all from here. change the views,","start":318.28,"duration":4.28},{"text":"refactor, tools. So if you're looking","start":320.4,"duration":3.68},{"text":"for something specific, you know, check","start":322.56,"duration":3.0},{"text":"out this kind of file menu, and it will","start":324.08,"duration":3.6},{"text":"probably show you where the command is.","start":325.56,"duration":3.72},{"text":"If you want to search for a specific","start":327.68,"duration":2.96},{"text":"tool, you can go to this kind of search","start":329.28,"duration":3.56},{"text":"bar here. So in my case, like I'm zoomed","start":330.64,"duration":3.72},{"text":"in quite a bit in the editor so you guys","start":332.84,"duration":3.72},{"text":"can see it, and I've also adjusted the","start":334.36,"duration":5.28},{"text":"font size, so you can like increase or","start":336.56,"duration":5.48},{"text":"what is it, adjust the font size if you","start":339.64,"duration":4.2},{"text":"like to do that. I like my text pretty","start":342.04,"duration":3.6},{"text":"large because I'm kind of blind. From","start":343.84,"duration":3.2},{"text":"here, you'll also see a settings knob","start":345.64,"duration":3.4},{"text":"just to get you into the settings. So,","start":347.04,"duration":3.4},{"text":"if I click this, I've settings and","start":349.04,"duration":3.36},{"text":"plugins. There is a bunch of options","start":350.44,"duration":2.72},{"text":"here, and we're going to be going","start":352.4,"duration":2.48}],"view_count_at_fetch":5479,"transcript_available":true,"transcript_last_attempted_at":"2026-07-01T06:08:17.259625+00:00"},"tags_json":[],"is_discovered_source":false},"transcript":{"segment_count":200,"markdown":"# Transcript\n\n## Segment 1\n\n**Speaker:** Unknown speaker\n\nStop vibe coding and do this instead.\n\n## Segment 2\n\n**Speaker:** Unknown speaker\n\nNow look, AI models are great. We can\n\n## Segment 3\n\n**Speaker:** Unknown speaker\n\ngenerate massive amounts of code, they\n\n## Segment 4\n\n**Speaker:** Unknown speaker\n\nsave us hundreds, probably thousands of\n\n## Segment 5\n\n**Speaker:** Unknown speaker\n\nhours of time, and we can generate some\n\n## Segment 6\n\n**Speaker:** Unknown speaker\n\nreally interesting products with them.\n\n## Segment 7\n\n**Speaker:** Unknown speaker\n\nBut when you want to become a\n\n## Segment 8\n\n**Speaker:** Unknown speaker\n\nprofessional software engineer, the way\n\n## Segment 9\n\n**Speaker:** Unknown speaker\n\nyou use AI needs to change. You can't\n\n## Segment 10\n\n**Speaker:** Unknown speaker\n\nsimply just prompt the model all the\n\n## Segment 11\n\n**Speaker:** Unknown speaker\n\ntime. There are situations where you\n\n## Segment 12\n\n**Speaker:** Unknown speaker\n\nneed to go in and you need to read the\n\n## Segment 13\n\n**Speaker:** Unknown speaker\n\ncode, you need to look up definitions,\n\n## Segment 14\n\n**Speaker:** Unknown speaker\n\nyou need to run a debugger, and\n\n## Segment 15\n\n**Speaker:** Unknown speaker\n\nespecially when something goes wrong\n\n## Segment 16\n\n**Speaker:** Unknown speaker\n\nwith the model, you have to have the\n\n## Segment 17\n\n**Speaker:** Unknown speaker\n\nright tool to be able to solve those\n\n## Segment 18\n\n**Speaker:** Unknown speaker\n\nproblems. So in this video, I'm going to\n\n## Segment 19\n\n**Speaker:** Unknown speaker\n\nshow you how to set up Python for\n\n## Segment 20\n\n**Speaker:** Unknown speaker\n\nprofessional AI development. Now what I\n\n## Segment 21\n\n**Speaker:** Unknown speaker\n\nmean by that is not writing AI\n\n## Segment 22\n\n**Speaker:** Unknown speaker\n\napplications, but using AI in a\n\n## Segment 23\n\n**Speaker:** Unknown speaker\n\nprofessional manner so that you can work\n\n## Segment 24\n\n**Speaker:** Unknown speaker\n\nlike the top software engineers do. This\n\n## Segment 25\n\n**Speaker:** Unknown speaker\n\nmeans we're not purely just relying on\n\n## Segment 26\n\n**Speaker:** Unknown speaker\n\ncloud code, we're using a professional\n\n## Segment 27\n\n**Speaker:** Unknown speaker\n\nIDE with the correct AI integrations,\n\n## Segment 28\n\n**Speaker:** Unknown speaker\n\nwe're setting up MCP servers, skills,\n\n## Segment 29\n\n**Speaker:** Unknown speaker\n\ndebuggers, profilers, whatever, all of\n\n## Segment 30\n\n**Speaker:** Unknown speaker\n\nthose kinds of things so that we get all\n\n## Segment 31\n\n**Speaker:** Unknown speaker\n\nof those professional tools plus the AI\n\n## Segment 32\n\n**Speaker:** Unknown speaker\n\nso we can be extra productive. And\n\n## Segment 33\n\n**Speaker:** Unknown speaker\n\nagain, work like a real professional\n\n## Segment 34\n\n**Speaker:** Unknown speaker\n\ndeveloper, not a vibe coder. So with\n\n## Segment 35\n\n**Speaker:** Unknown speaker\n\nthat said, let's get into the video, let\n\n## Segment 36\n\n**Speaker:** Unknown speaker\n\nme show you the exact setup. I guarantee\n\n## Segment 37\n\n**Speaker:** Unknown speaker\n\nyou're going to learn something. So what\n\n## Segment 38\n\n**Speaker:** Unknown speaker\n\nI'm going to do here is show you how to\n\n## Segment 39\n\n**Speaker:** Unknown speaker\n\nset up your environment so you get\n\n## Segment 40\n\n**Speaker:** Unknown speaker\n\naccess to all of the features that I\n\n## Segment 41\n\n**Speaker:** Unknown speaker\n\nmentioned previously. Now in order to do\n\n## Segment 42\n\n**Speaker:** Unknown speaker\n\nthat, we are going to need an IDE or an\n\n## Segment 43\n\n**Speaker:** Unknown speaker\n\nintegrated development environment. Now\n\n## Segment 44\n\n**Speaker:** Unknown speaker\n\nfor this video, I'm going to be using\n\n## Segment 45\n\n**Speaker:** Unknown speaker\n\nPyCharm. The reason for that is that\n\n## Segment 46\n\n**Speaker:** Unknown speaker\n\nwhenever I work in large Python\n\n## Segment 47\n\n**Speaker:** Unknown speaker\n\napplications, this is the editor or IDE\n\n## Segment 48\n\n**Speaker:** Unknown speaker\n\nthat I use because it's specifically\n\n## Segment 49\n\n**Speaker:** Unknown speaker\n\ndesigned for working with Python. I\n\n## Segment 50\n\n**Speaker:** Unknown speaker\n\nmean, the name literally has Python or\n\n## Segment 51\n\n**Speaker:** Unknown speaker\n\nPi inside of it. So it has native\n\n## Segment 52\n\n**Speaker:** Unknown speaker\n\nintegrations with things like FastAPI,\n\n## Segment 53\n\n**Speaker:** Unknown speaker\n\nit has great support for machine\n\n## Segment 54\n\n**Speaker:** Unknown speaker\n\nlearning, AI development, notebooks, all\n\n## Segment 55\n\n**Speaker:** Unknown speaker\n\nof the stuff that you would do with\n\n## Segment 56\n\n**Speaker:** Unknown speaker\n\nPython, it's built specifically for\n\n## Segment 57\n\n**Speaker:** Unknown speaker\n\nthat. With smaller applications, it\n\n## Segment 58\n\n**Speaker:** Unknown speaker\n\ndoesn't really matter, you can use\n\n## Segment 59\n\n**Speaker:** Unknown speaker\n\nanything that you want, but again, I'm\n\n## Segment 60\n\n**Speaker:** Unknown speaker\n\nfocusing on more of the professional\n\n## Segment 61\n\n**Speaker:** Unknown speaker\n\nworkflow here where if if actually want\n\n## Segment 62\n\n**Speaker:** Unknown speaker\n\nto level up as a developer, you're going\n\n## Segment 63\n\n**Speaker:** Unknown speaker\n\nto want to use a tool that has a lot\n\n## Segment 64\n\n**Speaker:** Unknown speaker\n\nmore features that's designed for the\n\n## Segment 65\n\n**Speaker:** Unknown speaker\n\nlanguage and libraries that you're\n\n## Segment 66\n\n**Speaker:** Unknown speaker\n\nusing. So, anyways, the first step in\n\n## Segment 67\n\n**Speaker:** Unknown speaker\n\nthis video, if you don't already have\n\n## Segment 68\n\n**Speaker:** Unknown speaker\n\nit, is going to be to download PyCharm.\n\n## Segment 69\n\n**Speaker:** Unknown speaker\n\nThis is free to use. They do have a pro\n\n## Segment 70\n\n**Speaker:** Unknown speaker\n\nversion of this that unlocks some more\n\n## Segment 71\n\n**Speaker:** Unknown speaker\n\nfeatures, gives you, for example,\n\n## Segment 72\n\n**Speaker:** Unknown speaker\n\nadditional AI usage and credits, and\n\n## Segment 73\n\n**Speaker:** Unknown speaker\n\nthere's some subscriptions related to\n\n## Segment 74\n\n**Speaker:** Unknown speaker\n\nthat that I'll go over later. But,\n\n## Segment 75\n\n**Speaker:** Unknown speaker\n\ngenerally speaking, you can use all of\n\n## Segment 76\n\n**Speaker:** Unknown speaker\n\nthis completely for free, and that's one\n\n## Segment 77\n\n**Speaker:** Unknown speaker\n\nof the reasons that I've teamed up with\n\n## Segment 78\n\n**Speaker:** Unknown speaker\n\nJetBrains and PyCharm for this\n\n## Segment 79\n\n**Speaker:** Unknown speaker\n\nparticular video cuz they've been a\n\n## Segment 80\n\n**Speaker:** Unknown speaker\n\nlong-term sponsor of the channel, and I\n\n## Segment 81\n\n**Speaker:** Unknown speaker\n\npersonally love their product. So,\n\n## Segment 82\n\n**Speaker:** Unknown speaker\n\nanyways, I'll leave a link to it in the\n\n## Segment 83\n\n**Speaker:** Unknown speaker\n\ndescription, and then what we're going\n\n## Segment 84\n\n**Speaker:** Unknown speaker\n\nto do is just open up the PyCharm\n\n## Segment 85\n\n**Speaker:** Unknown speaker\n\napplication, and I'm going to start\n\n## Segment 86\n\n**Speaker:** Unknown speaker\n\ngoing through all of the different kind\n\n## Segment 87\n\n**Speaker:** Unknown speaker\n\nof features and showing you how to use\n\n## Segment 88\n\n**Speaker:** Unknown speaker\n\nthis professionally. I'm going to show\n\n## Segment 89\n\n**Speaker:** Unknown speaker\n\nyou how to set up the AI agents, how to\n\n## Segment 90\n\n**Speaker:** Unknown speaker\n\nbring in different models, everything\n\n## Segment 91\n\n**Speaker:** Unknown speaker\n\nthat I know you guys want to see. So,\n\n## Segment 92\n\n**Speaker:** Unknown speaker\n\nfirst things first, when we open up\n\n## Segment 93\n\n**Speaker:** Unknown speaker\n\nPyCharm, we're just going to want to\n\n## Segment 94\n\n**Speaker:** Unknown speaker\n\ncreate a new project. We're just going\n\n## Segment 95\n\n**Speaker:** Unknown speaker\n\nto do this for kind of demo purposes,\n\n## Segment 96\n\n**Speaker:** Unknown speaker\n\nand then, of course, if you're working\n\n## Segment 97\n\n**Speaker:** Unknown speaker\n\nin a larger code base, you just open\n\n## Segment 98\n\n**Speaker:** Unknown speaker\n\nthat up. So, what I'm going to do for\n\n## Segment 99\n\n**Speaker:** Unknown speaker\n\nnow is just go with new project. When I\n\n## Segment 100\n\n**Speaker:** Unknown speaker\n\ngo new project, I have a lot of options\n\n## Segment 101\n\n**Speaker:** Unknown speaker\n\nhere within PyCharm. I can choose the\n\n## Segment 102\n\n**Speaker:** Unknown speaker\n\nframework, so I'm going to go with\n\n## Segment 103\n\n**Speaker:** Unknown speaker\n\nFastAPI, and we'll just build out like a\n\n## Segment 104\n\n**Speaker:** Unknown speaker\n\nsimple app in this video, so you can see\n\n## Segment 105\n\n**Speaker:** Unknown speaker\n\nkind of the flow and the tools that we\n\n## Segment 106\n\n**Speaker:** Unknown speaker\n\nuse. I'm going to go with create Git\n\n## Segment 107\n\n**Speaker:** Unknown speaker\n\nrepository, and then we have the ability\n\n## Segment 108\n\n**Speaker:** Unknown speaker\n\nto choose the environment that we're\n\n## Segment 109\n\n**Speaker:** Unknown speaker\n\ngoing to use for our virtual\n\n## Segment 110\n\n**Speaker:** Unknown speaker\n\nenvironment. Now, the virtual\n\n## Segment 111\n\n**Speaker:** Unknown speaker\n\nenvironment in Python is super\n\n## Segment 112\n\n**Speaker:** Unknown speaker\n\nimportant. There's a lot of different\n\n## Segment 113\n\n**Speaker:** Unknown speaker\n\noptions for creating the virtual\n\n## Segment 114\n\n**Speaker:** Unknown speaker\n\nenvironment. Personally, I like to use\n\n## Segment 115\n\n**Speaker:** Unknown speaker\n\nUV. Now, if you don't know what UV is,\n\n## Segment 116\n\n**Speaker:** Unknown speaker\n\nit's really just a package manager for\n\n## Segment 117\n\n**Speaker:** Unknown speaker\n\nPython, very similar to pip, and it just\n\n## Segment 118\n\n**Speaker:** Unknown speaker\n\nhandles all of the dependencies for your\n\n## Segment 119\n\n**Speaker:** Unknown speaker\n\nPython project. So, in the case of\n\n## Segment 120\n\n**Speaker:** Unknown speaker\n\nFastAPI, like we need to install\n\n## Segment 121\n\n**Speaker:** Unknown speaker\n\nFastAPI, we would do that using UV, and\n\n## Segment 122\n\n**Speaker:** Unknown speaker\n\nI'll leave a video on screen that goes\n\n## Segment 123\n\n**Speaker:** Unknown speaker\n\nthrough how it works in case you want to\n\n## Segment 124\n\n**Speaker:** Unknown speaker\n\nlearn more. Anyways, you can choose\n\n## Segment 125\n\n**Speaker:** Unknown speaker\n\nwhatever virtual environment provider\n\n## Segment 126\n\n**Speaker:** Unknown speaker\n\nyou want. Again, I'm using UV. You can\n\n## Segment 127\n\n**Speaker:** Unknown speaker\n\nchoose the version for Python. I'll just\n\n## Segment 128\n\n**Speaker:** Unknown speaker\n\nleave it as default, and then the paths\n\n## Segment 129\n\n**Speaker:** Unknown speaker\n\nhere should be automatically populated,\n\n## Segment 130\n\n**Speaker:** Unknown speaker\n\nand I've just checked this to create a\n\n## Segment 131\n\n**Speaker:** Unknown speaker\n\nGit repository. I'm also going to put it\n\n## Segment 132\n\n**Speaker:** Unknown speaker\n\non my desktop, and then of course I can\n\n## Segment 133\n\n**Speaker:** Unknown speaker\n\nchange the name of the application if I\n\n## Segment 134\n\n**Speaker:** Unknown speaker\n\nwant. So for now, let's go ahead and\n\n## Segment 135\n\n**Speaker:** Unknown speaker\n\npress on create. That's going to open up\n\n## Segment 136\n\n**Speaker:** Unknown speaker\n\nPyCharm in a window that looks something\n\n## Segment 137\n\n**Speaker:** Unknown speaker\n\nlike this. What I'm going to do for now\n\n## Segment 138\n\n**Speaker:** Unknown speaker\n\nis just add this to Git, so these files\n\n## Segment 139\n\n**Speaker:** Unknown speaker\n\nthat are created automatically, and\n\n## Segment 140\n\n**Speaker:** Unknown speaker\n\nwe'll go from there. Now if it's your\n\n## Segment 141\n\n**Speaker:** Unknown speaker\n\nfirst time working in PyCharm or you're\n\n## Segment 142\n\n**Speaker:** Unknown speaker\n\njust opening up this project for the\n\n## Segment 143\n\n**Speaker:** Unknown speaker\n\nfirst time, you might get a few pop-ups\n\n## Segment 144\n\n**Speaker:** Unknown speaker\n\nhere. So for example, it's asking me to\n\n## Segment 145\n\n**Speaker:** Unknown speaker\n\nenable this feature, so I'll just go\n\n## Segment 146\n\n**Speaker:** Unknown speaker\n\nahead and do that and just enable this\n\n## Segment 147\n\n**Speaker:** Unknown speaker\n\nparticular workspace. And you may get a\n\n## Segment 148\n\n**Speaker:** Unknown speaker\n\nfew other things, for example, like\n\n## Segment 149\n\n**Speaker:** Unknown speaker\n\nasking you to enable the AI chat, um to\n\n## Segment 150\n\n**Speaker:** Unknown speaker\n\nput in a subscription key. Again, you'll\n\n## Segment 151\n\n**Speaker:** Unknown speaker\n\nget 1 month of the pro version for free\n\n## Segment 152\n\n**Speaker:** Unknown speaker\n\nif it's your first time, and then after\n\n## Segment 153\n\n**Speaker:** Unknown speaker\n\nthat you can just use it for free with\n\n## Segment 154\n\n**Speaker:** Unknown speaker\n\njust some of the features gone. But most\n\n## Segment 155\n\n**Speaker:** Unknown speaker\n\nof those features are not going to be\n\n## Segment 156\n\n**Speaker:** Unknown speaker\n\ncritical to you, and again are really\n\n## Segment 157\n\n**Speaker:** Unknown speaker\n\ndesigned for professionals, people\n\n## Segment 158\n\n**Speaker:** Unknown speaker\n\nworking at enterprises, etc. Okay. So\n\n## Segment 159\n\n**Speaker:** Unknown speaker\n\nfrom here, I just want to give you a\n\n## Segment 160\n\n**Speaker:** Unknown speaker\n\nquick kind of lay of the land in the\n\n## Segment 161\n\n**Speaker:** Unknown speaker\n\neditor because there is a lot going on\n\n## Segment 162\n\n**Speaker:** Unknown speaker\n\nhere, and it can be a little bit\n\n## Segment 163\n\n**Speaker:** Unknown speaker\n\noverwhelming. And then I want to start\n\n## Segment 164\n\n**Speaker:** Unknown speaker\n\ngetting right into the AI stuff so you\n\n## Segment 165\n\n**Speaker:** Unknown speaker\n\ncan understand how we can bring AI\n\n## Segment 166\n\n**Speaker:** Unknown speaker\n\nmodels, use different models, use\n\n## Segment 167\n\n**Speaker:** Unknown speaker\n\ndifferent agents, because you're not\n\n## Segment 168\n\n**Speaker:** Unknown speaker\n\nlocked into kind of the JetBrains\n\n## Segment 169\n\n**Speaker:** Unknown speaker\n\nprovided agent here. You can work with\n\n## Segment 170\n\n**Speaker:** Unknown speaker\n\nClaude code, you can work with Codex,\n\n## Segment 171\n\n**Speaker:** Unknown speaker\n\nyou can work with various other models\n\n## Segment 172\n\n**Speaker:** Unknown speaker\n\ndirectly inside of this editor, but you\n\n## Segment 173\n\n**Speaker:** Unknown speaker\n\nget the full suite of tools, which is\n\n## Segment 174\n\n**Speaker:** Unknown speaker\n\nthe reason why you would use it. Okay,\n\n## Segment 175\n\n**Speaker:** Unknown speaker\n\nso if we start kind of just going\n\n## Segment 176\n\n**Speaker:** Unknown speaker\n\nthrough here, on Mac and Windows it may\n\n## Segment 177\n\n**Speaker:** Unknown speaker\n\nbe a little bit different, but you\n\n## Segment 178\n\n**Speaker:** Unknown speaker\n\nshould have some big file menus at the\n\n## Segment 179\n\n**Speaker:** Unknown speaker\n\ntop. So just keep this in mind if you\n\n## Segment 180\n\n**Speaker:** Unknown speaker\n\nwant to open something, save something,\n\n## Segment 181\n\n**Speaker:** Unknown speaker\n\nlook at the settings, you can do that\n\n## Segment 182\n\n**Speaker:** Unknown speaker\n\nall from here. change the views,\n\n## Segment 183\n\n**Speaker:** Unknown speaker\n\nrefactor, tools. So if you're looking\n\n## Segment 184\n\n**Speaker:** Unknown speaker\n\nfor something specific, you know, check\n\n## Segment 185\n\n**Speaker:** Unknown speaker\n\nout this kind of file menu, and it will\n\n## Segment 186\n\n**Speaker:** Unknown speaker\n\nprobably show you where the command is.\n\n## Segment 187\n\n**Speaker:** Unknown speaker\n\nIf you want to search for a specific\n\n## Segment 188\n\n**Speaker:** Unknown speaker\n\ntool, you can go to this kind of search\n\n## Segment 189\n\n**Speaker:** Unknown speaker\n\nbar here. So in my case, like I'm zoomed\n\n## Segment 190\n\n**Speaker:** Unknown speaker\n\nin quite a bit in the editor so you guys\n\n## Segment 191\n\n**Speaker:** Unknown speaker\n\ncan see it, and I've also adjusted the\n\n## Segment 192\n\n**Speaker:** Unknown speaker\n\nfont size, so you can like increase or\n\n## Segment 193\n\n**Speaker:** Unknown speaker\n\nwhat is it, adjust the font size if you\n\n## Segment 194\n\n**Speaker:** Unknown speaker\n\nlike to do that. I like my text pretty\n\n## Segment 195\n\n**Speaker:** Unknown speaker\n\nlarge because I'm kind of blind. From\n\n## Segment 196\n\n**Speaker:** Unknown speaker\n\nhere, you'll also see a settings knob\n\n## Segment 197\n\n**Speaker:** Unknown speaker\n\njust to get you into the settings. So,\n\n## Segment 198\n\n**Speaker:** Unknown speaker\n\nif I click this, I've settings and\n\n## Segment 199\n\n**Speaker:** Unknown speaker\n\nplugins. There is a bunch of options\n\n## Segment 200\n\n**Speaker:** Unknown speaker\n\nhere, and we're going to be going","text":"[segment 0] Unknown speaker: Stop vibe coding and do this instead.\n[segment 1] Unknown speaker: Now look, AI models are great. We can\n[segment 2] Unknown speaker: generate massive amounts of code, they\n[segment 3] Unknown speaker: save us hundreds, probably thousands of\n[segment 4] Unknown speaker: hours of time, and we can generate some\n[segment 5] Unknown speaker: really interesting products with them.\n[segment 6] Unknown speaker: But when you want to become a\n[segment 7] Unknown speaker: professional software engineer, the way\n[segment 8] Unknown speaker: you use AI needs to change. You can't\n[segment 9] Unknown speaker: simply just prompt the model all the\n[segment 10] Unknown speaker: time. There are situations where you\n[segment 11] Unknown speaker: need to go in and you need to read the\n[segment 12] Unknown speaker: code, you need to look up definitions,\n[segment 13] Unknown speaker: you need to run a debugger, and\n[segment 14] Unknown speaker: especially when something goes wrong\n[segment 15] Unknown speaker: with the model, you have to have the\n[segment 16] Unknown speaker: right tool to be able to solve those\n[segment 17] Unknown speaker: problems. So in this video, I'm going to\n[segment 18] Unknown speaker: show you how to set up Python for\n[segment 19] Unknown speaker: professional AI development. Now what I\n[segment 20] Unknown speaker: mean by that is not writing AI\n[segment 21] Unknown speaker: applications, but using AI in a\n[segment 22] Unknown speaker: professional manner so that you can work\n[segment 23] Unknown speaker: like the top software engineers do. This\n[segment 24] Unknown speaker: means we're not purely just relying on\n[segment 25] Unknown speaker: cloud code, we're using a professional\n[segment 26] Unknown speaker: IDE with the correct AI integrations,\n[segment 27] Unknown speaker: we're setting up MCP servers, skills,\n[segment 28] Unknown speaker: debuggers, profilers, whatever, all of\n[segment 29] Unknown speaker: those kinds of things so that we get all\n[segment 30] Unknown speaker: of those professional tools plus the AI\n[segment 31] Unknown speaker: so we can be extra productive. And\n[segment 32] Unknown speaker: again, work like a real professional\n[segment 33] Unknown speaker: developer, not a vibe coder. So with\n[segment 34] Unknown speaker: that said, let's get into the video, let\n[segment 35] Unknown speaker: me show you the exact setup. I guarantee\n[segment 36] Unknown speaker: you're going to learn something. So what\n[segment 37] Unknown speaker: I'm going to do here is show you how to\n[segment 38] Unknown speaker: set up your environment so you get\n[segment 39] Unknown speaker: access to all of the features that I\n[segment 40] Unknown speaker: mentioned previously. Now in order to do\n[segment 41] Unknown speaker: that, we are going to need an IDE or an\n[segment 42] Unknown speaker: integrated development environment. Now\n[segment 43] Unknown speaker: for this video, I'm going to be using\n[segment 44] Unknown speaker: PyCharm. The reason for that is that\n[segment 45] Unknown speaker: whenever I work in large Python\n[segment 46] Unknown speaker: applications, this is the editor or IDE\n[segment 47] Unknown speaker: that I use because it's specifically\n[segment 48] Unknown speaker: designed for working with Python. I\n[segment 49] Unknown speaker: mean, the name literally has Python or\n[segment 50] Unknown speaker: Pi inside of it. So it has native\n[segment 51] Unknown speaker: integrations with things like FastAPI,\n[segment 52] Unknown speaker: it has great support for machine\n[segment 53] Unknown speaker: learning, AI development, notebooks, all\n[segment 54] Unknown speaker: of the stuff that you would do with\n[segment 55] Unknown speaker: Python, it's built specifically for\n[segment 56] Unknown speaker: that. With smaller applications, it\n[segment 57] Unknown speaker: doesn't really matter, you can use\n[segment 58] Unknown speaker: anything that you want, but again, I'm\n[segment 59] Unknown speaker: focusing on more of the professional\n[segment 60] Unknown speaker: workflow here where if if actually want\n[segment 61] Unknown speaker: to level up as a developer, you're going\n[segment 62] Unknown speaker: to want to use a tool that has a lot\n[segment 63] Unknown speaker: more features that's designed for the\n[segment 64] Unknown speaker: language and libraries that you're\n[segment 65] Unknown speaker: using. So, anyways, the first step in\n[segment 66] Unknown speaker: this video, if you don't already have\n[segment 67] Unknown speaker: it, is going to be to download PyCharm.\n[segment 68] Unknown speaker: This is free to use. They do have a pro\n[segment 69] Unknown speaker: version of this that unlocks some more\n[segment 70] Unknown speaker: features, gives you, for example,\n[segment 71] Unknown speaker: additional AI usage and credits, and\n[segment 72] Unknown speaker: there's some subscriptions related to\n[segment 73] Unknown speaker: that that I'll go over later. But,\n[segment 74] Unknown speaker: generally speaking, you can use all of\n[segment 75] Unknown speaker: this completely for free, and that's one\n[segment 76] Unknown speaker: of the reasons that I've teamed up with\n[segment 77] Unknown speaker: JetBrains and PyCharm for this\n[segment 78] Unknown speaker: particular video cuz they've been a\n[segment 79] Unknown speaker: long-term sponsor of the channel, and I\n[segment 80] Unknown speaker: personally love their product. So,\n[segment 81] Unknown speaker: anyways, I'll leave a link to it in the\n[segment 82] Unknown speaker: description, and then what we're going\n[segment 83] Unknown speaker: to do is just open up the PyCharm\n[segment 84] Unknown speaker: application, and I'm going to start\n[segment 85] Unknown speaker: going through all of the different kind\n[segment 86] Unknown speaker: of features and showing you how to use\n[segment 87] Unknown speaker: this professionally. I'm going to show\n[segment 88] Unknown speaker: you how to set up the AI agents, how to\n[segment 89] Unknown speaker: bring in different models, everything\n[segment 90] Unknown speaker: that I know you guys want to see. So,\n[segment 91] Unknown speaker: first things first, when we open up\n[segment 92] Unknown speaker: PyCharm, we're just going to want to\n[segment 93] Unknown speaker: create a new project. We're just going\n[segment 94] Unknown speaker: to do this for kind of demo purposes,\n[segment 95] Unknown speaker: and then, of course, if you're working\n[segment 96] Unknown speaker: in a larger code base, you just open\n[segment 97] Unknown speaker: that up. So, what I'm going to do for\n[segment 98] Unknown speaker: now is just go with new project. When I\n[segment 99] Unknown speaker: go new project, I have a lot of options\n[segment 100] Unknown speaker: here within PyCharm. I can choose the\n[segment 101] Unknown speaker: framework, so I'm going to go with\n[segment 102] Unknown speaker: FastAPI, and we'll just build out like a\n[segment 103] Unknown speaker: simple app in this video, so you can see\n[segment 104] Unknown speaker: kind of the flow and the tools that we\n[segment 105] Unknown speaker: use. I'm going to go with create Git\n[segment 106] Unknown speaker: repository, and then we have the ability\n[segment 107] Unknown speaker: to choose the environment that we're\n[segment 108] Unknown speaker: going to use for our virtual\n[segment 109] Unknown speaker: environment. Now, the virtual\n[segment 110] Unknown speaker: environment in Python is super\n[segment 111] Unknown speaker: important. There's a lot of different\n[segment 112] Unknown speaker: options for creating the virtual\n[segment 113] Unknown speaker: environment. Personally, I like to use\n[segment 114] Unknown speaker: UV. Now, if you don't know what UV is,\n[segment 115] Unknown speaker: it's really just a package manager for\n[segment 116] Unknown speaker: Python, very similar to pip, and it just\n[segment 117] Unknown speaker: handles all of the dependencies for your\n[segment 118] Unknown speaker: Python project. So, in the case of\n[segment 119] Unknown speaker: FastAPI, like we need to install\n[segment 120] Unknown speaker: FastAPI, we would do that using UV, and\n[segment 121] Unknown speaker: I'll leave a video on screen that goes\n[segment 122] Unknown speaker: through how it works in case you want to\n[segment 123] Unknown speaker: learn more. Anyways, you can choose\n[segment 124] Unknown speaker: whatever virtual environment provider\n[segment 125] Unknown speaker: you want. Again, I'm using UV. You can\n[segment 126] Unknown speaker: choose the version for Python. I'll just\n[segment 127] Unknown speaker: leave it as default, and then the paths\n[segment 128] Unknown speaker: here should be automatically populated,\n[segment 129] Unknown speaker: and I've just checked this to create a\n[segment 130] Unknown speaker: Git repository. I'm also going to put it\n[segment 131] Unknown speaker: on my desktop, and then of course I can\n[segment 132] Unknown speaker: change the name of the application if I\n[segment 133] Unknown speaker: want. So for now, let's go ahead and\n[segment 134] Unknown speaker: press on create. That's going to open up\n[segment 135] Unknown speaker: PyCharm in a window that looks something\n[segment 136] Unknown speaker: like this. What I'm going to do for now\n[segment 137] Unknown speaker: is just add this to Git, so these files\n[segment 138] Unknown speaker: that are created automatically, and\n[segment 139] Unknown speaker: we'll go from there. Now if it's your\n[segment 140] Unknown speaker: first time working in PyCharm or you're\n[segment 141] Unknown speaker: just opening up this project for the\n[segment 142] Unknown speaker: first time, you might get a few pop-ups\n[segment 143] Unknown speaker: here. So for example, it's asking me to\n[segment 144] Unknown speaker: enable this feature, so I'll just go\n[segment 145] Unknown speaker: ahead and do that and just enable this\n[segment 146] Unknown speaker: particular workspace. And you may get a\n[segment 147] Unknown speaker: few other things, for example, like\n[segment 148] Unknown speaker: asking you to enable the AI chat, um to\n[segment 149] Unknown speaker: put in a subscription key. Again, you'll\n[segment 150] Unknown speaker: get 1 month of the pro version for free\n[segment 151] Unknown speaker: if it's your first time, and then after\n[segment 152] Unknown speaker: that you can just use it for free with\n[segment 153] Unknown speaker: just some of the features gone. But most\n[segment 154] Unknown speaker: of those features are not going to be\n[segment 155] Unknown speaker: critical to you, and again are really\n[segment 156] Unknown speaker: designed for professionals, people\n[segment 157] Unknown speaker: working at enterprises, etc. Okay. So\n[segment 158] Unknown speaker: from here, I just want to give you a\n[segment 159] Unknown speaker: quick kind of lay of the land in the\n[segment 160] Unknown speaker: editor because there is a lot going on\n[segment 161] Unknown speaker: here, and it can be a little bit\n[segment 162] Unknown speaker: overwhelming. And then I want to start\n[segment 163] Unknown speaker: getting right into the AI stuff so you\n[segment 164] Unknown speaker: can understand how we can bring AI\n[segment 165] Unknown speaker: models, use different models, use\n[segment 166] Unknown speaker: different agents, because you're not\n[segment 167] Unknown speaker: locked into kind of the JetBrains\n[segment 168] Unknown speaker: provided agent here. You can work with\n[segment 169] Unknown speaker: Claude code, you can work with Codex,\n[segment 170] Unknown speaker: you can work with various other models\n[segment 171] Unknown speaker: directly inside of this editor, but you\n[segment 172] Unknown speaker: get the full suite of tools, which is\n[segment 173] Unknown speaker: the reason why you would use it. Okay,\n[segment 174] Unknown speaker: so if we start kind of just going\n[segment 175] Unknown speaker: through here, on Mac and Windows it may\n[segment 176] Unknown speaker: be a little bit different, but you\n[segment 177] Unknown speaker: should have some big file menus at the\n[segment 178] Unknown speaker: top. So just keep this in mind if you\n[segment 179] Unknown speaker: want to open something, save something,\n[segment 180] Unknown speaker: look at the settings, you can do that\n[segment 181] Unknown speaker: all from here. change the views,\n[segment 182] Unknown speaker: refactor, tools. So if you're looking\n[segment 183] Unknown speaker: for something specific, you know, check\n[segment 184] Unknown speaker: out this kind of file menu, and it will\n[segment 185] Unknown speaker: probably show you where the command is.\n[segment 186] Unknown speaker: If you want to search for a specific\n[segment 187] Unknown speaker: tool, you can go to this kind of search\n[segment 188] Unknown speaker: bar here. So in my case, like I'm zoomed\n[segment 189] Unknown speaker: in quite a bit in the editor so you guys\n[segment 190] Unknown speaker: can see it, and I've also adjusted the\n[segment 191] Unknown speaker: font size, so you can like increase or\n[segment 192] Unknown speaker: what is it, adjust the font size if you\n[segment 193] Unknown speaker: like to do that. I like my text pretty\n[segment 194] Unknown speaker: large because I'm kind of blind. From\n[segment 195] Unknown speaker: here, you'll also see a settings knob\n[segment 196] Unknown speaker: just to get you into the settings. So,\n[segment 197] Unknown speaker: if I click this, I've settings and\n[segment 198] Unknown speaker: plugins. There is a bunch of options\n[segment 199] Unknown speaker: here, and we're going to be going","segments":[{"id":"8d722e4c-4813-4ec7-a4cb-08d39785897b","segment_index":0,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Stop vibe coding and do this instead."},{"id":"88c5ae3f-3b18-4a96-82aa-3fd2c9ff31eb","segment_index":1,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Now look, AI models are great. We can"},{"id":"c974fcf7-05fe-4bd6-94a0-e18bb116f68c","segment_index":2,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"generate massive amounts of code, they"},{"id":"ea543fe7-1fcc-4bb5-a4b0-4e5a3362a9a7","segment_index":3,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"save us hundreds, probably thousands of"},{"id":"f51ab631-fd2a-4af0-99a0-8a0630491ec8","segment_index":4,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"hours of time, and we can generate some"},{"id":"04b36f99-cb4a-4529-801c-792a8d2fe859","segment_index":5,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"really interesting products with them."},{"id":"57b14365-02d9-42b9-bc8e-91fcbf14398d","segment_index":6,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"But when you want to become a"},{"id":"a90e4824-2479-4b99-ac2d-4347c9a78e60","segment_index":7,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"professional software engineer, the way"},{"id":"35cb0901-bc4f-4b4b-b842-f70779d04207","segment_index":8,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you use AI needs to change. You can't"},{"id":"ced66d91-d6e6-44d2-8787-417e54791f04","segment_index":9,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"simply just prompt the model all the"},{"id":"44664a2a-3fe5-4930-af8c-65413f93f549","segment_index":10,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"time. There are situations where you"},{"id":"851c985d-f010-41da-a0e2-fc0284925486","segment_index":11,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"need to go in and you need to read the"},{"id":"c08cd022-518a-4b63-9694-4da8080a8bdc","segment_index":12,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"code, you need to look up definitions,"},{"id":"f7ca76e6-14d8-486e-a54f-c20eca35d051","segment_index":13,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you need to run a debugger, and"},{"id":"89a3364d-69d0-4331-8db4-8c68357fe42d","segment_index":14,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"especially when something goes wrong"},{"id":"06d95488-8740-41cc-bf9f-69e239924c71","segment_index":15,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"with the model, you have to have the"},{"id":"23fde50b-5dd1-43ef-b1b9-f169cb0ae023","segment_index":16,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"right tool to be able to solve those"},{"id":"0c0f88bb-a39f-4680-88ff-77cf19f8725c","segment_index":17,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"problems. So in this video, I'm going to"},{"id":"b6ac5d9c-5ec8-45a4-b039-0806334eee2c","segment_index":18,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"show you how to set up Python for"},{"id":"39d52a5c-7b43-4263-a2fc-26b53b53180f","segment_index":19,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"professional AI development. Now what I"},{"id":"eb4d201d-50b3-4598-a506-6b742201ff3d","segment_index":20,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"mean by that is not writing AI"},{"id":"e0db0f5d-4266-4a49-ad53-a7ce68f59f16","segment_index":21,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"applications, but using AI in a"},{"id":"4ffe5dfe-74f5-4e54-82b8-4bf954a6973a","segment_index":22,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"professional manner so that you can work"},{"id":"7c718139-c473-42b4-b6e2-10f7f3a64233","segment_index":23,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"like the top software engineers do. This"},{"id":"24a4c7e7-21af-4ad4-a34a-7e3d2b43c2d5","segment_index":24,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"means we're not purely just relying on"},{"id":"4361add8-f6ab-4dfc-a987-ce59d4d2a386","segment_index":25,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"cloud code, we're using a professional"},{"id":"e3c737ab-17c3-4cfe-9792-3e8c95ab66bb","segment_index":26,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"IDE with the correct AI integrations,"},{"id":"7b7ae4aa-0334-4363-a4f3-40d4b4a9c4b4","segment_index":27,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"we're setting up MCP servers, skills,"},{"id":"55e5d731-6b3a-44ce-ad2f-ba4219965141","segment_index":28,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"debuggers, profilers, whatever, all of"},{"id":"c3e0029f-052a-4003-a9d5-26b98841635f","segment_index":29,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"those kinds of things so that we get all"},{"id":"817eb640-5003-4769-a155-ee5e318b4da4","segment_index":30,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"of those professional tools plus the AI"},{"id":"e9e1d71f-0468-4221-b637-55c08baa40f0","segment_index":31,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"so we can be extra productive. And"},{"id":"c8fb2d4c-1a2a-495a-81cd-17d0c8088ae8","segment_index":32,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"again, work like a real professional"},{"id":"e47034a5-e85e-4ce5-92b4-a9f82540e481","segment_index":33,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"developer, not a vibe coder. So with"},{"id":"dcac3e92-d66a-43b2-bfb2-455c72481464","segment_index":34,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that said, let's get into the video, let"},{"id":"c26f525e-4894-4ecb-bcfa-0ba37c097506","segment_index":35,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"me show you the exact setup. I guarantee"},{"id":"07aff3ca-a98b-4d81-b967-66afd7953355","segment_index":36,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you're going to learn something. So what"},{"id":"813b2e60-e983-4d1c-b841-21cb8fc5f032","segment_index":37,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"I'm going to do here is show you how to"},{"id":"4debf40b-c7bd-4cef-ada6-5ca09dae6027","segment_index":38,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"set up your environment so you get"},{"id":"d9381dbd-4c35-4015-bc66-500a4c883ef4","segment_index":39,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"access to all of the features that I"},{"id":"5d4a0af7-82c9-40e0-8178-c49f3c4ed3fd","segment_index":40,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"mentioned previously. Now in order to do"},{"id":"deef4bb6-9cc1-43e0-9b87-96bb63a9e2bd","segment_index":41,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that, we are going to need an IDE or an"},{"id":"9f0be44b-f1b5-49dd-aa14-d86cf9ea36f0","segment_index":42,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"integrated development environment. Now"},{"id":"14c3f4a2-7029-4870-91bd-e9937b5ea9b6","segment_index":43,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"for this video, I'm going to be using"},{"id":"b38bf6e9-b259-475e-b9a6-c6eedde4b51c","segment_index":44,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"PyCharm. The reason for that is that"},{"id":"e6bd2dbd-e099-46a5-87fa-6b56d34d9d6f","segment_index":45,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"whenever I work in large Python"},{"id":"977bbab5-434e-44de-a31a-d7175da42c63","segment_index":46,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"applications, this is the editor or IDE"},{"id":"4e728941-8dc7-4a8a-b154-dc8703fc6ebf","segment_index":47,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that I use because it's specifically"},{"id":"e8abb69e-daf5-4271-a04b-003dfc6c58a1","segment_index":48,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"designed for working with Python. I"},{"id":"26804ae4-5556-445a-af63-1f663cb16e11","segment_index":49,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"mean, the name literally has Python or"},{"id":"0c3f8d8e-9c88-4400-ace2-e69be75e3d04","segment_index":50,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Pi inside of it. So it has native"},{"id":"53a9010e-63d3-4dc0-9826-e5d2c7c47bf2","segment_index":51,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"integrations with things like FastAPI,"},{"id":"ac72d521-8bbf-4f4e-af68-6c32ccca58e7","segment_index":52,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"it has great support for machine"},{"id":"275db995-ebae-4fe2-842a-03a51b16cb0b","segment_index":53,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"learning, AI development, notebooks, all"},{"id":"e6d9b69d-07c4-4b09-a753-1db9239c045a","segment_index":54,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"of the stuff that you would do with"},{"id":"b4282697-7610-4126-ac5f-241e9729df98","segment_index":55,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Python, it's built specifically for"},{"id":"bdf46ae4-700e-4cbf-bc4c-58856180e658","segment_index":56,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that. With smaller applications, it"},{"id":"f9b6afb5-1261-4ba6-aa88-9f7b575d147b","segment_index":57,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"doesn't really matter, you can use"},{"id":"3a222612-7f6d-439b-ac42-a634829490fd","segment_index":58,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"anything that you want, but again, I'm"},{"id":"2150aaae-900c-4927-8f7d-82ec885bdde4","segment_index":59,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"focusing on more of the professional"},{"id":"3747adaf-5332-4baa-b937-1333e418f3f9","segment_index":60,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"workflow here where if if actually want"},{"id":"fed7914c-1091-4ccc-b90c-5fe9fe9ec176","segment_index":61,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"to level up as a developer, you're going"},{"id":"1b0662fd-7c59-4c2b-89e5-457433c4436a","segment_index":62,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"to want to use a tool that has a lot"},{"id":"2224c5f1-7825-4aa1-9b3b-387d5c165a75","segment_index":63,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"more features that's designed for the"},{"id":"cbab4b0a-7de1-4560-b107-f3f8337190c6","segment_index":64,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"language and libraries that you're"},{"id":"a1f4d451-dd8c-4ef3-be13-8a638fb7b8a9","segment_index":65,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"using. So, anyways, the first step in"},{"id":"304122bc-f7c1-4885-ae25-d5ae617f54c1","segment_index":66,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"this video, if you don't already have"},{"id":"d0216065-6d7c-474b-85a3-b6e2bff5911d","segment_index":67,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"it, is going to be to download PyCharm."},{"id":"a84cff44-a1eb-4fb8-a119-a23dda32de5b","segment_index":68,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"This is free to use. They do have a pro"},{"id":"aa7ca8a2-1bde-4f7b-9fd9-1cb35ffb1082","segment_index":69,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"version of this that unlocks some more"},{"id":"341b5d2a-9e81-4d41-99e5-c3c17548366e","segment_index":70,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"features, gives you, for example,"},{"id":"f184fac3-1e9a-41cf-8bc3-24c7b649be67","segment_index":71,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"additional AI usage and credits, and"},{"id":"e9cf6fb9-25a9-4516-b3d6-5a51fd895782","segment_index":72,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"there's some subscriptions related to"},{"id":"ea59fd76-010d-4ce9-955b-e55295170640","segment_index":73,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that that I'll go over later. But,"},{"id":"6ab8987b-45d8-427c-a007-5f9fbfb614e4","segment_index":74,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"generally speaking, you can use all of"},{"id":"8bc3a4cf-ca8a-44ea-8e27-559f25b0a4d5","segment_index":75,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"this completely for free, and that's one"},{"id":"aff3c51c-1936-4158-aefe-fa465d227355","segment_index":76,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"of the reasons that I've teamed up with"},{"id":"921c47c2-da94-4421-8470-01cf5f297787","segment_index":77,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"JetBrains and PyCharm for this"},{"id":"8f394cda-c390-4b0e-a55d-12662eaea33d","segment_index":78,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"particular video cuz they've been a"},{"id":"a81c69ec-56ba-4a9e-b08b-204edfddf52e","segment_index":79,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"long-term sponsor of the channel, and I"},{"id":"9e4c37dc-6ec1-4c7e-bc9b-4df7b72d8e50","segment_index":80,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"personally love their product. So,"},{"id":"24e9bae2-63f2-4896-a2cd-0700811ed0a8","segment_index":81,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"anyways, I'll leave a link to it in the"},{"id":"253be8ed-3f19-4d22-bfba-6819743a84d4","segment_index":82,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"description, and then what we're going"},{"id":"33319216-5491-4c1c-84b0-63a436f2fae9","segment_index":83,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"to do is just open up the PyCharm"},{"id":"03dc36d7-dec6-4006-b3fd-ab0b1a6d9cfb","segment_index":84,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"application, and I'm going to start"},{"id":"67fcaa54-3b75-488d-8c71-6ce761e78620","segment_index":85,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"going through all of the different kind"},{"id":"99255ab2-0dae-4905-bc34-cddb36f8acb7","segment_index":86,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"of features and showing you how to use"},{"id":"3e1e1f28-89a3-4fb3-ab4c-7d6d6bf21a60","segment_index":87,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"this professionally. I'm going to show"},{"id":"0c715467-7f14-46af-a917-7ea24d5e5997","segment_index":88,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you how to set up the AI agents, how to"},{"id":"300653fa-b647-4d5a-b6ab-771bc48b3b10","segment_index":89,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"bring in different models, everything"},{"id":"41e33158-5981-4fc9-80b9-f3dcdbaa5e4a","segment_index":90,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that I know you guys want to see. So,"},{"id":"46d997a1-dbb0-4d7b-86b9-7bae79653f85","segment_index":91,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"first things first, when we open up"},{"id":"97167cf5-77b7-4e0d-8719-11cd74aa2b82","segment_index":92,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"PyCharm, we're just going to want to"},{"id":"9b0868d3-a738-41cf-bcb2-054f1bcbf890","segment_index":93,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"create a new project. We're just going"},{"id":"9ef2608c-cbaf-4f0e-ab58-527b5c8c2956","segment_index":94,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"to do this for kind of demo purposes,"},{"id":"ac9d63b2-fac7-4bb2-a419-f97f8731ef70","segment_index":95,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"and then, of course, if you're working"},{"id":"25a65a49-b5af-46e6-a66d-bfe41b38eb1b","segment_index":96,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"in a larger code base, you just open"},{"id":"95c590c4-1cd1-4d22-8732-8875654d00e1","segment_index":97,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that up. So, what I'm going to do for"},{"id":"1f50312c-4611-4dee-9e29-5faae2cea644","segment_index":98,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"now is just go with new project. When I"},{"id":"0188e2a3-367c-4b4a-8391-1d0af83d2bf0","segment_index":99,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"go new project, I have a lot of options"},{"id":"6c26e137-3f28-4810-aa87-0825dd24c62e","segment_index":100,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here within PyCharm. I can choose the"},{"id":"f08f84e8-639e-40d7-9145-1753de9a5997","segment_index":101,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"framework, so I'm going to go with"},{"id":"6663b9af-3f8c-4c67-b7bc-0d9baf19cc68","segment_index":102,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"FastAPI, and we'll just build out like a"},{"id":"b1720c5e-17b4-448f-8f5c-cd37d078e436","segment_index":103,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"simple app in this video, so you can see"},{"id":"414bcc19-53ae-43e6-9af3-efa8ba881174","segment_index":104,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"kind of the flow and the tools that we"},{"id":"3170776c-c43d-40ed-8c61-f3f3b061dc15","segment_index":105,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"use. I'm going to go with create Git"},{"id":"35cf0536-a916-4e82-828c-ba94926022c5","segment_index":106,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"repository, and then we have the ability"},{"id":"31bb0fc5-aff0-4b4f-bf40-f3fd24b5b049","segment_index":107,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"to choose the environment that we're"},{"id":"c54ed326-0d38-4be7-ad17-43e49e9b7139","segment_index":108,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"going to use for our virtual"},{"id":"ed10493d-9d6b-4bdc-8fe1-347459a93ad3","segment_index":109,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"environment. Now, the virtual"},{"id":"7310d1a3-ff25-4341-8d7f-a6cde2871212","segment_index":110,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"environment in Python is super"},{"id":"ef141ce7-1349-4358-aaa5-7c9d3fb58f27","segment_index":111,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"important. There's a lot of different"},{"id":"f4eea2e5-e59f-4894-aa92-c7c4acb77b24","segment_index":112,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"options for creating the virtual"},{"id":"5dc3657a-01b6-4440-931c-9668e906482f","segment_index":113,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"environment. Personally, I like to use"},{"id":"223bbd9d-2657-4df5-b275-25de8fb604ad","segment_index":114,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"UV. Now, if you don't know what UV is,"},{"id":"6d6238ee-9540-48df-886b-864fec0b4c3c","segment_index":115,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"it's really just a package manager for"},{"id":"4fe6971f-fe6d-4b5d-865b-0ed2fad58f66","segment_index":116,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Python, very similar to pip, and it just"},{"id":"4f8197fe-b5c8-4de4-b12c-11d1503080e8","segment_index":117,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"handles all of the dependencies for your"},{"id":"d27233db-6eca-4cd0-90c9-f63e2740bb71","segment_index":118,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Python project. So, in the case of"},{"id":"33e2f2bf-a318-4ba9-b167-7e969d23ec9a","segment_index":119,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"FastAPI, like we need to install"},{"id":"3dc51bb4-e122-403a-bd44-fd2a933ced7d","segment_index":120,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"FastAPI, we would do that using UV, and"},{"id":"77dde7ab-c0c1-41c2-b11f-50dfef853b0d","segment_index":121,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"I'll leave a video on screen that goes"},{"id":"8a19f331-1ff3-4d32-8d43-2412dd61f852","segment_index":122,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"through how it works in case you want to"},{"id":"b1284586-20a5-4b0f-a598-7514c4c54eec","segment_index":123,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"learn more. Anyways, you can choose"},{"id":"3760f2e5-fb9f-448f-a5e0-f0bcb1ab3e06","segment_index":124,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"whatever virtual environment provider"},{"id":"ad341310-bfd0-4928-8aab-27245f2bc1af","segment_index":125,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you want. Again, I'm using UV. You can"},{"id":"777b7535-a0c2-43fd-bffb-3eb32ef852cf","segment_index":126,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"choose the version for Python. I'll just"},{"id":"c48cb704-8317-4fbc-aacd-8a1fcccb8653","segment_index":127,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"leave it as default, and then the paths"},{"id":"a433f485-a01b-476b-a079-d88853319c7b","segment_index":128,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here should be automatically populated,"},{"id":"352046c9-7398-409c-81b6-d45a6e1766dd","segment_index":129,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"and I've just checked this to create a"},{"id":"ee316e13-f21b-454b-a5cb-34fce5f6fb17","segment_index":130,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Git repository. I'm also going to put it"},{"id":"b10edb0d-3481-4c6d-8eb5-88a319cdf1b7","segment_index":131,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"on my desktop, and then of course I can"},{"id":"921df265-cc2f-407e-afe5-3f2834bfb1fa","segment_index":132,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"change the name of the application if I"},{"id":"025cbb6a-b285-4bdf-9e67-f5295232d5db","segment_index":133,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"want. So for now, let's go ahead and"},{"id":"5916bc4b-14da-4288-aad8-711aba28e674","segment_index":134,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"press on create. That's going to open up"},{"id":"76793f1f-6659-49c0-b33c-a5314f7d765d","segment_index":135,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"PyCharm in a window that looks something"},{"id":"800fb18b-a40c-4f67-a469-578048121d93","segment_index":136,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"like this. What I'm going to do for now"},{"id":"909bb685-6c5c-4c71-ab09-1f45effb58e1","segment_index":137,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"is just add this to Git, so these files"},{"id":"c3df2735-1608-4122-a36c-cb257f7f4eb6","segment_index":138,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that are created automatically, and"},{"id":"b3a3bb14-eeaa-447a-9145-42a24cf84f69","segment_index":139,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"we'll go from there. Now if it's your"},{"id":"6d74df88-7891-42d5-9e3e-fe84bdf93e3e","segment_index":140,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"first time working in PyCharm or you're"},{"id":"f7e774b2-facb-41da-a51e-c20d1884899e","segment_index":141,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"just opening up this project for the"},{"id":"1fc54a46-c9cb-40fc-9b92-d386544b6b89","segment_index":142,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"first time, you might get a few pop-ups"},{"id":"17286258-3001-45c3-a07e-637af557d61d","segment_index":143,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here. So for example, it's asking me to"},{"id":"41ad6f34-94f5-4038-b367-f3a4aad9775d","segment_index":144,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"enable this feature, so I'll just go"},{"id":"ea6ce9b5-9ae7-45d8-b2de-57b1bb1f5cf3","segment_index":145,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"ahead and do that and just enable this"},{"id":"b477eb3f-bdbb-47db-8b8d-2135b64405e6","segment_index":146,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"particular workspace. And you may get a"},{"id":"98ee6470-7a7c-4712-a804-ad5ee0681787","segment_index":147,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"few other things, for example, like"},{"id":"ce864244-8b68-44a9-9e43-073e5cfcbb2d","segment_index":148,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"asking you to enable the AI chat, um to"},{"id":"68b6cea7-0c42-4294-b527-a9eea2db0f05","segment_index":149,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"put in a subscription key. Again, you'll"},{"id":"74a69f69-4b9d-42d0-b868-81e968da4234","segment_index":150,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"get 1 month of the pro version for free"},{"id":"540672f5-f713-4a3b-99b2-eac2d3c47ee9","segment_index":151,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"if it's your first time, and then after"},{"id":"8fabcb56-2402-4434-a571-e4f0b12850b7","segment_index":152,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"that you can just use it for free with"},{"id":"bd126357-7cff-4231-b804-13c3b039b814","segment_index":153,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"just some of the features gone. But most"},{"id":"ea591cb9-e48d-4c3d-8f79-d4e8b2237448","segment_index":154,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"of those features are not going to be"},{"id":"ccf7eff5-9ef9-4d57-8fca-dfd7e4c0b10b","segment_index":155,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"critical to you, and again are really"},{"id":"194897ac-5f3b-449b-a5e2-65e425061372","segment_index":156,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"designed for professionals, people"},{"id":"a601957a-1dda-44a2-a83b-7ac7895ec850","segment_index":157,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"working at enterprises, etc. Okay. So"},{"id":"896d5ead-b9ec-46e4-baf0-a93a6d2c920a","segment_index":158,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"from here, I just want to give you a"},{"id":"e1d67e28-8127-4340-bce5-92d5d5b0c573","segment_index":159,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"quick kind of lay of the land in the"},{"id":"bf2e316b-90c9-46cf-96ec-b04c72da71aa","segment_index":160,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"editor because there is a lot going on"},{"id":"05fd861a-118b-4e28-a71d-fbc844b33612","segment_index":161,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here, and it can be a little bit"},{"id":"8514b7ba-191c-4d08-a519-d87aefb50e20","segment_index":162,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"overwhelming. And then I want to start"},{"id":"6e151f43-7b35-41f8-81b5-5d44b56c3ce8","segment_index":163,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"getting right into the AI stuff so you"},{"id":"88d141b0-2a09-40dc-b5ce-30ae57d01467","segment_index":164,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"can understand how we can bring AI"},{"id":"6df84ac8-9604-4551-86db-8970f44f324d","segment_index":165,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"models, use different models, use"},{"id":"a8140618-5757-461d-a6c3-df4e65d26cfb","segment_index":166,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"different agents, because you're not"},{"id":"4a8ee269-f4f0-450b-85bf-82637c55913d","segment_index":167,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"locked into kind of the JetBrains"},{"id":"03e9b674-e2c4-402e-868f-b079a5b6dbcd","segment_index":168,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"provided agent here. You can work with"},{"id":"18c86b90-a0d2-4a41-b995-6ec52a68efba","segment_index":169,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"Claude code, you can work with Codex,"},{"id":"46afda95-65b4-4824-892e-2a2178aa2129","segment_index":170,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"you can work with various other models"},{"id":"630e626f-569b-4514-83da-1b75e8497376","segment_index":171,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"directly inside of this editor, but you"},{"id":"cdc90ff4-8430-4b60-bdec-3a8985005648","segment_index":172,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"get the full suite of tools, which is"},{"id":"095997c1-b537-42b3-aa72-cdcd38cab1b8","segment_index":173,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"the reason why you would use it. Okay,"},{"id":"36b9eca1-3545-43a2-b6d3-39f85b518350","segment_index":174,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"so if we start kind of just going"},{"id":"7c93849f-2c84-4b0e-a357-eef830b3fd1e","segment_index":175,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"through here, on Mac and Windows it may"},{"id":"5273df3c-e725-43b6-85ca-7f68b5526a49","segment_index":176,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"be a little bit different, but you"},{"id":"2194fa97-913f-4087-b905-0d860c42011c","segment_index":177,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"should have some big file menus at the"},{"id":"b5dcd46f-9ac3-462e-b2bc-365589f24556","segment_index":178,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"top. So just keep this in mind if you"},{"id":"b64292cf-d81a-457a-b5c6-e1f810b10217","segment_index":179,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"want to open something, save something,"},{"id":"0f1c56fe-8ec5-4087-8229-7b51ec85c1b2","segment_index":180,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"look at the settings, you can do that"},{"id":"191f04e1-2bfa-44a3-9e0f-700a11a69d2c","segment_index":181,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"all from here. change the views,"},{"id":"aca6e836-73da-4822-a4aa-772917f3dd8d","segment_index":182,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"refactor, tools. So if you're looking"},{"id":"118c21da-a417-4d04-adff-f398975cdc4f","segment_index":183,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"for something specific, you know, check"},{"id":"2c653c9e-d9c7-4f80-9a9a-c3c2207940d2","segment_index":184,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"out this kind of file menu, and it will"},{"id":"ca0dfaeb-0114-4834-bb61-9dc209839617","segment_index":185,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"probably show you where the command is."},{"id":"71271b53-bdb4-44b4-b0ff-fa7e34dabfd7","segment_index":186,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"If you want to search for a specific"},{"id":"d310cfc9-619f-462e-901e-3023f269938b","segment_index":187,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"tool, you can go to this kind of search"},{"id":"ea157613-87aa-4dac-8383-d7de2d951abf","segment_index":188,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"bar here. So in my case, like I'm zoomed"},{"id":"310d7a3b-8f4c-4fac-913a-9da2770480cf","segment_index":189,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"in quite a bit in the editor so you guys"},{"id":"feb37707-5726-4413-a610-6227ec26c5ad","segment_index":190,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"can see it, and I've also adjusted the"},{"id":"0bcf67c6-db18-433d-b35b-cef6f9371c20","segment_index":191,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"font size, so you can like increase or"},{"id":"c8ae1528-9c93-499b-a432-7b6d8cb660bc","segment_index":192,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"what is it, adjust the font size if you"},{"id":"b66697b0-bdc5-4c2a-8867-02dbbfa568af","segment_index":193,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"like to do that. I like my text pretty"},{"id":"631209e8-82d1-4eb3-8bbb-e6d0c2cb25f4","segment_index":194,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"large because I'm kind of blind. From"},{"id":"e5ef05ee-3099-4511-b74b-1cf8f44a2852","segment_index":195,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here, you'll also see a settings knob"},{"id":"61c060bb-550b-43f7-8f48-41542e630155","segment_index":196,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"just to get you into the settings. So,"},{"id":"7174ac1d-08b4-475c-b74e-c6de353619f2","segment_index":197,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"if I click this, I've settings and"},{"id":"16e070d1-3bc6-4693-8523-a2e3b71e6af6","segment_index":198,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"plugins. There is a bunch of options"},{"id":"77bab6b7-b67f-4d1e-8cea-0b27534c450e","segment_index":199,"speaker_name":null,"start_seconds":null,"end_seconds":null,"text":"here, and we're going to be going"}]},"content_assets":[]}