Skip to content

Commit ec9fcce

Browse files
committed
Update documentation
1 parent 8917088 commit ec9fcce

108 files changed

Lines changed: 278 additions & 8582 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CNAME

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
dry-python.org
1+
dry-python.org

home-background.jpg

-74.7 KB
Binary file not shown.

index.html

Lines changed: 0 additions & 239 deletions
This file was deleted.

index.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
[![logo](https://raw.githubusercontent.com/dry-python/brand/master/logo/project.png)](https://github.com/dry-python)
2+
3+
---
4+
5+
# A set of libraries for pluggable business logic components
6+
7+
The easiest way to make your code simple to reason about.
8+
9+
dry-python is a collection of libraries aimed to help you to build an application in your domain.
10+
11+
## Stories
12+
13+
You can define business logic processes with clear DSL.
14+
15+
```pycon
16+
17+
>>> from stories import story, arguments
18+
19+
>>> class BuySubscription:
20+
... @story
21+
... @arguments("price_id", "user")
22+
... def buy(I):
23+
... I.find_price
24+
... I.check_balance
25+
... I.persist_payment
26+
... I.persist_subscription
27+
... I.send_subscription_notification
28+
... I.show_category
29+
30+
```
31+
32+
## Dependencies
33+
34+
You can integrate it into frameworks you already use.
35+
36+
```pycon
37+
38+
>>> from dependencies import Injector, operation, this
39+
>>> from dependencies.contrib.django import view
40+
>>> from django.http import HttpResponse
41+
>>> from django.shortcuts import redirect
42+
43+
>>> @view
44+
... class BuySubscriptionView(Injector):
45+
... buy_subscription = workflows.BuySubscription.buy
46+
... price_id = this.kwargs["id"]
47+
...
48+
... @operation
49+
... def post(buy_subscription, price_id, user):
50+
... result = buy_subscription.run(price_id, user)
51+
... if result.is_success:
52+
... return redirect(result.value)
53+
... elif result.failed_on("check_balance"):
54+
... return HttpResponse("<h1>Error: not enough money</h1>")
55+
56+
```
57+
58+
And a framework of your choice will not even notice the change.
59+
60+
```pycon
61+
62+
>>> from app.views import BuySubscriptionView
63+
64+
>>> urlpatterns = [
65+
... path("buy_subscription/<int:id>/", BuySubscriptionView.as_view()),
66+
... ]
67+
68+
```
69+
70+
Drylabs maintains dry-python and helps those who want to use it inside their organizations. Read more at drylabs.io

news.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# News
2+
3+
## returns 0.11 release
4+
5+
30.08.2019
6+
7+
We are happy to announce returns v0.11 release!
8+
9+
Take a look at new pipe function semantics, tap and identity functions, and much more!
10+
11+
<https://github.com/dry-python/returns/releases/tag/0.11.0>
12+
13+
## Moscow Python Podcast
14+
15+
11.08.2019
16+
17+
How Domain-Driven Design helps you to avoid problems during development
18+
19+
<https://www.youtube.com/watch?v=QWSBmNutl2A>
20+
21+
## PyCon Russia 2019
22+
23+
19.06.2019
24+
25+
We will present the dry-python project at PyCon Russia 2019 on the 24th of June. Come to talk to us!
26+
27+
<https://pycon.ru/2019/>
28+
29+
## Moscow Python Podcast
30+
31+
09.06.2019
32+
33+
On business logic practices in Python.
34+
35+
<https://www.youtube.com/watch?v=UsV-7t3JjPw>
36+
37+
## stories 0.10.1 release
38+
39+
31.05.2019
40+
41+
We shipped a little stories bugfix release. Fix pytest reporter to work with fixture functions and pytest-bdd plugin properly.
42+
43+
<https://stories.readthedocs.io/en/latest/changelog/#0101-2019-05-31>
44+
45+
## Quality Conf 2019
46+
47+
10.05.2019
48+
49+
We will present the dry-python project at Quality Conf 2019 on the 27th of May. Come to talk to us!
50+
51+
<https://qualityconf.ru/2019/>
52+
53+
## Moscow Python Conf++ 2019
54+
55+
31.03.2019
56+
57+
We will present the dry-python project at Moscow Python Conf++ 2019 on 4th of April. Come to talk to us!
58+
59+
<https://conf.python.ru/2019/>
60+
61+
## Antida Meetup #5
62+
63+
12.03.2019
64+
65+
We will present the dry-python project at the Antida Meetup on 23th of March in Chelyabinsk. Come to talk to us!
66+
67+
<https://antidasoftware.com/events/>
68+
69+
## stories 0.10 release
70+
71+
27.02.2019
72+
73+
<https://stories.readthedocs.io/en/latest/changelog/#010-2019-02-27>
74+
75+
## Moscow Python Meetup #62
76+
77+
20.12.2018
78+
79+
We will present the dry-python project at the Moscow Python Meetup #62. Come to talk to us!
80+
81+
<https://moscowdjango.timepad.ru/event/873487/>
82+
83+
Drylabs maintains dry-python and helps those who want to use it inside their organizations. Read more at drylabs.io

0 commit comments

Comments
 (0)