Skip to content

Commit 7b59087

Browse files
committed
Merge branch 'master' of github.com:GetStream/stream-chat-python
2 parents 12d87b7 + e5c5b9f commit 7b59087

File tree

3 files changed

+269
-2
lines changed

3 files changed

+269
-2
lines changed

LICENSE

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
SOURCE CODE LICENSE AGREEMENT
2+
3+
IMPORTANT - READ THIS CAREFULLY BEFORE DOWNLOADING, INSTALLING, USING OR
4+
ELECTRONICALLY ACCESSING THIS PROPRIETARY PRODUCT.
5+
6+
THIS IS A LEGAL AGREEMENT BETWEEN STREAM.IO, INC. (“STREAM.IO”) AND THE
7+
BUSINESS ENTITY OR PERSON FOR WHOM YOU (“YOU”) ARE ACTING (“CUSTOMER”) AS THE
8+
LICENSEE OF THE PROPRIETARY SOFTWARE INTO WHICH THIS AGREEMENT HAS BEEN
9+
INCLUDED (THE “AGREEMENT”). YOU AGREE THAT YOU ARE THE CUSTOMER, OR YOU ARE AN
10+
EMPLOYEE OR AGENT OF CUSTOMER AND ARE ENTERING INTO THIS AGREEMENT FOR LICENSE
11+
OF THE SOFTWARE BY CUSTOMER FOR CUSTOMER’S BUSINESS PURPOSES AS DESCRIBED IN
12+
AND IN ACCORDANCE WITH THIS AGREEMENT. YOU HEREBY AGREE THAT YOU ENTER INTO
13+
THIS AGREEMENT ON BEHALF OF CUSTOMER AND THAT YOU HAVE THE AUTHORITY TO BIND
14+
CUSTOMER TO THIS AGREEMENT.
15+
16+
STREAM.IO IS WILLING TO LICENSE THE SOFTWARE TO CUSTOMER ONLY ON THE FOLLOWING
17+
CONDITIONS: (1) YOU ARE A CURRENT CUSTOMER OF STREAM.IO; (2) YOU ARE NOT A
18+
COMPETITOR OF STREAM.IO; AND (3) THAT YOU ACCEPT ALL THE TERMS IN THIS
19+
AGREEMENT. BY DOWNLOADING, INSTALLING, CONFIGURING, ACCESSING OR OTHERWISE
20+
USING THE SOFTWARE, INCLUDING ANY UPDATES, UPGRADES, OR NEWER VERSIONS, YOU
21+
REPRESENT, WARRANT AND ACKNOWLEDGE THAT (A) CUSTOMER IS A CURRENT CUSTOMER OF
22+
STREAM.IO; (B) CUSTOMER IS NOT A COMPETITOR OF STREAM.IO; AND THAT (C) YOU HAVE
23+
READ THIS AGREEMENT, UNDERSTAND THIS AGREEMENT, AND THAT CUSTOMER AGREES TO BE
24+
BOUND BY ALL THE TERMS OF THIS AGREEMENT.
25+
26+
IF YOU DO NOT AGREE TO ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT,
27+
STREAM.IO IS UNWILLING TO LICENSE THE SOFTWARE TO CUSTOMER, AND THEREFORE, DO
28+
NOT COMPLETE THE DOWNLOAD PROCESS, ACCESS OR OTHERWISE USE THE SOFTWARE, AND
29+
CUSTOMER SHOULD IMMEDIATELY RETURN THE SOFTWARE AND CEASE ANY USE OF THE
30+
SOFTWARE.
31+
32+
1. SOFTWARE. The Stream.io software accompanying this Agreement, may include
33+
Source Code, Executable Object Code, associated media, printed materials and
34+
documentation (collectively, the “Software”). The Software also includes any
35+
updates or upgrades to or new versions of the original Software, if and when
36+
made available to you by Stream.io. “Source Code” means computer programming
37+
code in human readable form that is not suitable for machine execution without
38+
the intervening steps of interpretation or compilation. “Executable Object
39+
Code" means the computer programming code in any other form than Source Code
40+
that is not readily perceivable by humans and suitable for machine execution
41+
without the intervening steps of interpretation or compilation. “Site” means a
42+
Customer location controlled by Customer. “Authorized User” means any employee
43+
or contractor of Customer working at the Site, who has signed a written
44+
confidentiality agreement with Customer or is otherwise bound in writing by
45+
confidentiality and use obligations at least as restrictive as those imposed
46+
under this Agreement.
47+
48+
2. LICENSE GRANT. Subject to the terms and conditions of this Agreement, in
49+
consideration for the representations, warranties, and covenants made by
50+
Customer in this Agreement, Stream.io grants to Customer, during the term of
51+
this Agreement, a personal, non-exclusive, non-transferable, non-sublicensable
52+
license to:
53+
54+
a. install and use Software Source Code on password protected computers at a Site,
55+
restricted to Authorized Users;
56+
57+
b. create derivative works, improvements (whether or not patentable), extensions
58+
and other modifications to the Software Source Code (“Modifications”) to build
59+
unique scalable newsfeeds, activity streams, and in-app messaging via Stream’s
60+
application program interface (“API”);
61+
62+
c. compile the Software Source Code to create Executable Object Code versions of
63+
the Software Source Code and Modifications to build such newsfeeds, activity
64+
streams, and in-app messaging via the API;
65+
66+
d. install, execute and use such Executable Object Code versions solely for
67+
Customer’s internal business use (including development of websites through
68+
which data generated by Stream services will be streamed (“Apps”));
69+
70+
e. use and distribute such Executable Object Code as part of Customer’s Apps; and
71+
72+
f. make electronic copies of the Software and Modifications as required for backup
73+
or archival purposes.
74+
75+
3. RESTRICTIONS. Customer is responsible for all activities that occur in
76+
connection with the Software. Customer will not, and will not attempt to: (a)
77+
sublicense or transfer the Software or any Source Code related to the Software
78+
or any of Customer’s rights under this Agreement, except as otherwise provided
79+
in this Agreement, (b) use the Software Source Code for the benefit of a third
80+
party or to operate a service; (c) allow any third party to access or use the
81+
Software Source Code; (d) sublicense or distribute the Software Source Code or
82+
any Modifications in Source Code or other derivative works based on any part of
83+
the Software Source Code; (e) use the Software in any manner that competes with
84+
Stream.io or its business; or (e) otherwise use the Software in any manner that
85+
exceeds the scope of use permitted in this Agreement. Customer shall use the
86+
Software in compliance with any accompanying documentation any laws applicable
87+
to Customer.
88+
89+
4. OPEN SOURCE. Customer and its Authorized Users shall not use any software or
90+
software components that are open source in conjunction with the Software
91+
Source Code or any Modifications in Source Code or in any way that could
92+
subject the Software to any open source licenses.
93+
94+
5. CONTRACTORS. Under the rights granted to Customer under this Agreement,
95+
Customer may permit its employees, contractors, and agencies of Customer to
96+
become Authorized Users to exercise the rights to the Software granted to
97+
Customer in accordance with this Agreement solely on behalf of Customer to
98+
provide services to Customer; provided that Customer shall be liable for the
99+
acts and omissions of all Authorized Users to the extent any of such acts or
100+
omissions, if performed by Customer, would constitute a breach of, or otherwise
101+
give rise to liability to Customer under, this Agreement. Customer shall not
102+
and shall not permit any Authorized User to use the Software except as
103+
expressly permitted in this Agreement.
104+
105+
6. COMPETITIVE PRODUCT DEVELOPMENT. Customer shall not use the Software in any way
106+
to engage in the development of products or services which could be reasonably
107+
construed to provide a complete or partial functional or commercial alternative
108+
to Stream.io’s products or services (a “Competitive Product”). Customer shall
109+
ensure that there is no direct or indirect use of, or sharing of, Software
110+
source code, or other information based upon or derived from the Software to
111+
develop such products or services. Without derogating from the generality of
112+
the foregoing, development of Competitive Products shall include having direct
113+
or indirect access to, supervising, consulting or assisting in the development
114+
of, or producing any specifications, documentation, object code or source code
115+
for, all or part of a Competitive Product.
116+
117+
7. LIMITATION ON MODIFICATIONS. Notwithstanding any provision in this Agreement,
118+
Modifications may only be created and used by Customer as permitted by this
119+
Agreement and Modification Source Code may not be distributed to third parties.
120+
Customer will not assert against Stream.io, its affiliates, or their customers,
121+
direct or indirect, agents and contractors, in any way, any patent rights that
122+
Customer may obtain relating to any Modifications for Stream.io, its
123+
affiliates’, or their customers’, direct or indirect, agents’ and contractors’
124+
manufacture, use, import, offer for sale or sale of any Stream.io products or
125+
services.
126+
127+
8. DELIVERY AND ACCEPTANCE. The Software will be delivered electronically pursuant
128+
to Stream.io standard download procedures. The Software is deemed accepted upon
129+
delivery.
130+
131+
9. IMPLEMENTATION AND SUPPORT. Stream.io has no obligation under this Agreement to
132+
provide any support or consultation concerning the Software.
133+
134+
10. TERM AND TERMINATION. The term of this Agreement begins when the Software is
135+
downloaded or accessed and shall continue until terminated. Either party may
136+
terminate this Agreement upon written notice. This Agreement shall
137+
automatically terminate if Customer is or becomes a competitor of Stream.io or
138+
makes or sells any Competitive Products. Upon termination of this Agreement for
139+
any reason, (a) all rights granted to Customer in this Agreement immediately
140+
cease to exist, (b) Customer must promptly discontinue all use of the Software
141+
and return to Stream.io or destroy all copies of the Software in Customer’s
142+
possession or control. Any continued use of the Software by Customer or attempt
143+
by Customer to exercise any rights under this Agreement after this Agreement
144+
has terminated shall be considered copyright infringement and subject Customer
145+
to applicable remedies for copyright infringement. Sections 2, 5, 6, 8 and 9
146+
shall survive expiration or termination of this Agreement for any reason.
147+
148+
11. OWNERSHIP. As between the parties, the Software and all worldwide intellectual
149+
property rights and proprietary rights relating thereto or embodied therein,
150+
are the exclusive property of Stream.io and its suppliers. Stream.io and its
151+
suppliers reserve all rights in and to the Software not expressly granted to
152+
Customer in this Agreement, and no other licenses or rights are granted by
153+
implication, estoppel or otherwise.
154+
155+
12. WARRANTY DISCLAIMER. USE OF THIS SOFTWARE IS ENTIRELY AT YOURS AND CUSTOMER’S
156+
OWN RISK. THE SOFTWARE IS PROVIDED “AS IS” WITHOUT ANY WARRANTY OF ANY KIND
157+
WHATSOEVER. STREAM.IO DOES NOT MAKE, AND HEREBY DISCLAIMS, ANY WARRANTY OF ANY
158+
KIND, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT
159+
LIMITATION, THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
160+
PURPOSE, TITLE, NON-INFRINGEMENT OF THIRD-PARTY RIGHTS, RESULTS, EFFORTS,
161+
QUALITY OR QUIET ENJOYMENT. STREAM.IO DOES NOT WARRANT THAT THE SOFTWARE IS
162+
ERROR-FREE, WILL FUNCTION WITHOUT INTERRUPTION, WILL MEET ANY SPECIFIC NEED
163+
THAT CUSTOMER HAS, THAT ALL DEFECTS WILL BE CORRECTED OR THAT IT IS
164+
SUFFICIENTLY DOCUMENTED TO BE USABLE BY CUSTOMER. TO THE EXTENT THAT STREAM.IO
165+
MAY NOT DISCLAIM ANY WARRANTY AS A MATTER OF APPLICABLE LAW, THE SCOPE AND
166+
DURATION OF SUCH WARRANTY WILL BE THE MINIMUM PERMITTED UNDER SUCH LAW.
167+
CUSTOMER ACKNOWLEDGES THAT IT HAS RELIED ON NO WARRANTIES OTHER THAN THE
168+
EXPRESS WARRANTIES IN THIS AGREEMENT.
169+
170+
13. LIMITATION OF LIABILITY. TO THE FULLEST EXTENT PERMISSIBLE BY LAW, STREAM.IO’S
171+
TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR RELATED TO THE SOFTWARE OR
172+
THIS AGREEMENT, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE,
173+
SHALL NOT EXCEED $100. IN NO EVENT WILL STREAM.IO BE LIABLE FOR ANY INDIRECT,
174+
CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES OF ANY KIND
175+
WHATSOEVER, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING
176+
TO THE SOFTWARE EVEN IF STREAM.IO HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
177+
DAMAGES. CUSTOMER ACKNOWLEDGES THAT THIS PROVISION REFLECTS THE AGREED UPON
178+
ALLOCATION OF RISK FOR THIS AGREEMENT AND THAT STREAM.IO WOULD NOT ENTER INTO
179+
THIS AGREEMENT WITHOUT THESE LIMITATIONS ON ITS LIABILITY.
180+
181+
14. General. Customer may not assign or transfer this Agreement, by operation of
182+
law or otherwise, or any of its rights under this Agreement (including the
183+
license rights granted to Customer) to any third party without Stream.io’s
184+
prior written consent, which consent will not be unreasonably withheld or
185+
delayed. Stream.io may assign this Agreement, without consent, including, but
186+
limited to, affiliate or any successor to all or substantially all its business
187+
or assets to which this Agreement relates, whether by merger, sale of assets,
188+
sale of stock, reorganization or otherwise. Any attempted assignment or
189+
transfer in violation of the foregoing will be null and void. Stream.io shall
190+
not be liable hereunder by reason of any failure or delay in the performance of
191+
its obligations hereunder for any cause which is beyond the reasonable control.
192+
All notices, consents, and approvals under this Agreement must be delivered in
193+
writing by courier, by electronic mail, or by certified or registered mail,
194+
(postage prepaid and return receipt requested) to the other party at the
195+
address set forth in the customer agreement between Stream.io and Customer and
196+
will be effective upon receipt or when delivery is refused. This Agreement will
197+
be governed by and interpreted in accordance with the laws of the State of
198+
Colorado, without reference to its choice of laws rules. The United Nations
199+
Convention on Contracts for the International Sale of Goods does not apply to
200+
this Agreement. Any action or proceeding arising from or relating to this
201+
Agreement shall be brought in a federal or state court in Denver, Colorado, and
202+
each party irrevocably submits to the jurisdiction and venue of any such court
203+
in any such action or proceeding. All waivers must be in writing. Any waiver or
204+
failure to enforce any provision of this Agreement on one occasion will not be
205+
deemed a waiver of any other provision or of such provision on any other
206+
occasion. If any provision of this Agreement is unenforceable, such provision
207+
will be changed and interpreted to accomplish the objectives of such provision
208+
to the greatest extent possible under applicable law and the remaining
209+
provisions will continue in full force and effect. Customer shall not violate
210+
any applicable law, rule or regulation, including those regarding the export of
211+
technical data. The headings of Sections of this Agreement are for convenience
212+
and are not to be used in interpreting this Agreement. As used in this
213+
Agreement, the word “including” means “including but not limited to.” This
214+
Agreement (including all exhibits and attachments) constitutes the entire
215+
agreement between the parties regarding the subject hereof and supersedes all
216+
prior or contemporaneous agreements, understandings and communication, whether
217+
written or oral. This Agreement may be amended only by a written document
218+
signed by both parties. The terms of any purchase order or similar document
219+
submitted by Customer to Stream.io will have no effect.

PULL_REQUEST_TEMPLATE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Submit a pull request
2+
3+
## CLA
4+
5+
- [ ] I have signed the [Stream CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform) (required).
6+
- [ ] The code changes follow best practices
7+
- [ ] Code changes are tested (add some information if not applicable)
8+
9+
## Description of the pull request

README.md

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
[![Build Status](https://travis-ci.com/GetStream/stream-chat-python.svg?token=WystDPP9vxKnwsd8NwW1&branch=master)](https://travis-ci.com/GetStream/stream-chat-python) [![codecov](https://codecov.io/gh/GetStream/stream-chat-python/branch/master/graph/badge.svg?token=DM7rr9M7Kl)](https://codecov.io/gh/GetStream/stream-chat-python) [![PyPI version](https://badge.fury.io/py/stream-chat.svg)](http://badge.fury.io/py/stream-chat)
44

5-
stream-chat-python is the official Python client for Stream chat.
5+
stream-chat-python is the official Python client for [Stream chat](https://getstream.io/chat/) a service for building chat applications.
6+
7+
You can sign up for a Stream account at https://getstream.io/chat/get_started/.
68

79
### Installation
810

@@ -16,6 +18,43 @@ stream-python supports:
1618
pip install stream-chat
1719
```
1820

21+
### Documentation
22+
23+
[Official API docs](https://getstream.io/chat/docs/)
24+
25+
### How to build a chat app with Python tutorial
26+
27+
TODO: add a sample Python chat program
28+
29+
### Supported features
30+
31+
- Chat channels
32+
- Messages
33+
- Chat channel types
34+
- User management
35+
- Moderation API
36+
- Push configuration
37+
- User devices
38+
- User search
39+
- Channel search
40+
41+
### Quickstart
42+
43+
```python
44+
chat = StreamChat(api_key="STREAM_KEY", api_secret="STREAM_SECRET")
45+
46+
# add a user
47+
chat.update_user({"id": "chuck", "name": "Chuck"})
48+
49+
# create a channel about kung-fu
50+
channel = chat.channel("messaging", "kung-fu")
51+
channel.create("chuck")
52+
53+
# add a first message to the channel
54+
channel.send_message({"text": "AMA about kung-fu"})
55+
56+
```
57+
1958
### Contributing
2059

2160
First, make sure you can run the test suite. Tests are run via py.test
@@ -27,7 +66,7 @@ STREAM_KEY=my_api_key STREAM_SECRET=my_api_secret py.test stream_chat/ -v
2766
Install black and pycodestyle
2867

2968
```
30-
pip install pycodestyle
69+
pip install black
3170
pip install pycodestyle
3271
```
3372

0 commit comments

Comments
 (0)