Skip to main content

Cdev - Serverless Development Framework

Cdev provides a development environment and framework that allows python developers to easily create and deploy Serverless Applications on Amazon Web Services. By providing features like automated dependency management, isolated deployment environments, and function artifact optimizations, Cdev allows developers to focus on the development of their project then deploy an optimized version of their project onto Aws with a single command.

Website • Docs

Getting Started

Starting from an empty directory. Set up your python virtual environment and install the Cdev cli.

$ python -m venv .venv

$ . ./.venv/bin/activate

$ pip install cdev

$ cdev

Create a new project

When creating a new project, you will be prompted about your Aws credentials and to link to a S3 Bucket for your deployment artifacts to be stored in.

$ cdev init demo-project --template quick-start
**Aws Credentials and S3 Bucket Selection Wizard**

View the resources that will be deployed

$ cdev plan

Deploy the resources

$ cdev deploy

Invoke the deployed function directly from the cli

$ cdev run function.execute hello_world_comp.hello_world_function

View the logs of the function

You might have to wait a few seconds for the logs to process in the cloud

$ cdev run function.logs hello_world_comp.hello_world_function

Invoke the function from the deployed HTTP endpoint

Invoke the deployed function via the created HTTP Api

$ cdev output hello_world_comp.api.demoapi.endpoint
<url>
$ curl <url>/hello_world

You can also visit <url>/hello_world in your favorite web browser!

Delete the Resources in the Environment

$ cdev destroy

For a more in depth information and examples about the capabilities of Cdev, check out our documentation.

Features

Supported Resources

  • Serverless Function
  • HTTP Endpoint
  • S3 Bucket
  • Dynamodb
  • Aurora DB (Mysql and Postgres)
  • Sqs
  • Sns
  • Hosted Static Website (Aws Cloudfront)

For guides on how to deploy any of these resources, check out our documentation

Alpha Notes and Limitations

The project is still in an alpha state, so there are still rough edges and limitations. The following are the current high level limitations of the framework.

  • Recovery from Failed Deployments

    • Certain resources require multiple API calls to generate the proper configurations in the Cloud, and if one of the API calls fails, it can cause the Cloud resource to be in a state that needs to be manually updated before continuing the deployment.
  • Parallel Deployments

    • Non-dependant resources can be deployed in parallel to reduce the total deployment time when there are many changes in a single deployment.
  • Remote Backend

    • The current state of cloud resources are stored in json files. This is extremely limiting as it prevents multiple people from working on the same state at the same time.
  • Limited Resources and Options on Resources

    • We are starting by focusing on a set of resource that we feel provide value while not being too complex. We have plans to add more resource and customization as time goes on.
  • Codebase improvements

    • Improvements in unit test coverage, logging, and error handling/messaging.

All of the current limitations can be navigated to use Cdev effectively for projects and solutions are being worked on to over come the documented limitations. Any issues that arise while using Cdev can be raised to daniel@cdevframework.com and will be addressed.

Release files for cdev 0.0.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cdev 0.0.31
File Size Uploaded
cdev-0.0.31.tar.gz 184.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cdev 0.0.31
File Interpreter ABI Platform
cdev-0.0.31-py3-none-any.whl Python 3 none any Details

Total release size: 466.9 kB

Release files / cdev-0.0.31.tar.gz

Download URL cdev-0.0.31.tar.gz
Size 184.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c6a13ea65e1471cfc9c773bfed64b179cd663d20923d7506f2a955b54228f796
BLAKE2b-256 checksum
How to use checksums
018e73a219f9aea347e7a5d3d723424832ada6a61d027189beee8048a9f109c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.12

Release files / cdev-0.0.31-py3-none-any.whl

Download URL cdev-0.0.31-py3-none-any.whl
Size 282.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fffeb98fc1cfbab7b3710e02e11b9384a1fa361e256d607b28f5a3e0f948cdff
BLAKE2b-256 checksum
How to use checksums
5750025526cc98aeeca7899c5e9a597b975bd3383da6ef07d8a6b79ee0a9df47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.12

Release history Release notifications | RSS feed

This release

0.0.31 This release

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.16

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page