Hello :) I use PyCharm on a daily basis and the plugin for AWS Toolkit is very good. Integrates with a lot of very useful services, including CFN, so you can see the status of stacks etc. directly from there.
I managed to get on the beta of CodeWhisperer too, which is in my PyCharm, and it is amazing.
As for IaC, CloudFormation being the bedrock of so many projects (Troposhere, CDK and many others) this is a very sane choice. I would recommend to write templates directly in YAML for simple things that need very little configuration. One does not need CDK to manage one's bucket!
Personally I prefer Troposphere, which among many really good things in there, map the properties of your resources 1:1 with the CFN native property names, making for going through the documentation so much easier. When I started to write ECS Compose-X I had the choice between CDK and Troposphere. CDK at the time was not super well documented, but then in v1 just as in v2 (oh yes, software versions changes and breaking changes, got to love these) you have to use the language specific name for properties, instead of the native CFN name for it. For me that was one of the biggest reason not to use CDK for that. I might use it for other things, but not my first go-to.
Either way, they both produce CloudFormation templates, which means I cannot recommend enough to write the code to just be a nicer wrapper -> don't hardcode region names, account ID and all that sort of things, use the Intrinsic Functions and parameters.
In compose-x for example, I extended the Parameter object to add additional attributes, which when I render the final template, auto-populates the CFN metadata section and gives me some very neat and nice looking templates.
If you plan on creating a lot of lambda functions, make sure to install AWS SAM and the toolkit can do a great deal for you there too.
Take a look at SAM It's a framework that can help you to build serverless applications on AWS Works really well with python, and the provided templates are good starting point to develop a serverless application.
Just to add to the other excellent answers, if you are building a full serverless application be sure to look into AWS Lambda Powertools for Python.
A suite of utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, idempotency, batching, and more.
Adding to other answers about SAM, PyCharm and the AWS Toolkit - I'm a big fan of being able to do full step-through local debugging, which is easy when you add Docker Desktop to the mix.
Development Endpoint & Glue Version 1.0asked 6 months ago
AWS Glue Python Shell upgradeasked 3 months ago
How to prepare the local dev environment for AWS nitro enclave Developmentasked 3 months ago
Accessing AWS Secret Manager outside the AWS environment (such as development evironment set up in our laptop i.e. local machine)asked 7 months ago
Need a Public Roadmap for Lumberyard & Tools/Tutorials Developmentasked 6 years ago
Best Python Development Tools for AWS Developmentasked 2 months ago
We can see Lumberyard 1.8 in GDC 2017 ? with new visual scripting language?Accepted Answerasked 6 years ago
AWS control tower notification forwarder and python 3.6 EOLAccepted Answerasked 5 months ago
Licensing AWS SQL Server for Development databasesAccepted Answerasked 2 years ago
When will we have PR preview feature for aws code commit ?asked 3 months ago