├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [europython20015](https://ep2015.europython.eu/p3/schedule/ep2015/list/) 2 | 3 | [video](https://www.youtube.com/user/PythonItalia/videos) 4 | 5 | ## community 6 | 7 | 8 | - [keynote its dangerous to go alone](https://ep2015.europython.eu/conference/talks/keynote-its-dangerous-to-go-alone) 9 | Django Girls 10 | http://yaypython.com/ 11 | 12 | - [How-To: Build a local Python community](https://ep2015.europython.eu/conference/talks/how-to-build-a-local-python-community) 13 | Хороший доклад по организации локального python сообщества. 14 | 15 | - [EuroPython 2016: Help us build the next edition!](https://ep2015.europython.eu/conference/talks/europython-2016-help-us-build-the-next-edition) 16 | 17 | ## python 18 | 19 | 20 | - [keynote python now and in the future](https://ep2015.europython.eu/conference/talks/keynote-python-now-and-in-the-future) 21 | Гвидо агитировал за python 3.5, но в dropbox используют сильно модифицированный python 2.7 22 | 23 | - [type hints for python3.5](https://ep2015.europython.eu/conference/talks/type-hints-for-python-35) 24 | 25 | - [the python compiler](https://ep2015.europython.eu/conference/talks/the-python-compiler) 26 | http://nuitka.net/pages/overview.html 27 | компиляция python в с++ вместе с libpython. Прирост скорости до 250% 28 | 29 | - [How you can benefit from type hints](https://ep2015.europython.eu/conference/talks/how-you-can-benefit-from-type-hints) 30 | 31 | - [Tuning Python applications can dramatically increase performance](https://ep2015.europython.eu/conference/talks/tuning-python-applications-can-dramatically-increase-performance) 32 | 33 | - [Writing Domain Specific Languages with Python](https://ep2015.europython.eu/conference/talks/the-unabridged-guide-to-domain-specific-languages-in-python) 34 | 35 | - [PyPy and the future of the Python ecosystem](https://ep2015.europython.eu/conference/talks/pypy-and-the-future-of-the-python-ecosystem) 36 | 37 | - [Static type-checking is dead, long live static type-checking in Python!](https://ep2015.europython.eu/conference/talks/static-type-checking-is-dead-long-live-static-type-checking-in-python) 38 | 39 | - [Import Deep Dive](https://ep2015.europython.eu/conference/talks/import-deep-dive) 40 | 41 | - http://bpython-interpreter.org/ 42 | красивый и функциональный интерфейс к стандартному интерпретатору Python для *nix. 43 | 44 | - https://github.com/jespino/python-master-key 45 | MasterKey is a pure python module to open your python classes, and allow you to redefine and fix the built-in python types. 46 | WARNING: Of course this is a Joke, don't use this module in real code! 47 | 48 | ## microservices & highload 49 | 50 | 51 | - [nameko for microservices](https://ep2015.europython.eu/conference/talks/nameko-for-microservices) 52 | https://nameko.readthedocs.org/en/stable/ 53 | A microservices framework for Python that lets service developers concentrate on application logic and encourages testability. 54 | 55 | - [stop trying to glue your services together import lymph](https://ep2015.europython.eu/conference/talks/stop-trying-to-glue-your-services-together-import-lymph) 56 | https://github.com/deliveryhero/lymph 57 | lymph is an opinionated framework for Python services. Its features are 58 | 59 | - Discovery: pluggable service discovery (e.g. backed by ZooKeeper) 60 | - RPC: request-reply messaging (via ZeroMQ + MessagePack) 61 | - Events: pluggable and reliable pub-sub messaging (e.g. backed by RabbitMQ) 62 | - Process Management 63 | 64 | 65 | - [use python to process 12mil events per minute and still keep it simple](https://ep2015.europython.eu/conference/talks/use-python-to-process-12mil-events-per-minute-and-still-keep-it-simple) 66 | https://eastvisionsystems.com/projects/ 67 | Компания занимается видое хостингом и стримингом. 68 | Доклад об python сервисе, который парсит access.log nginx и сохраняет события в mongodb. 69 | 70 | - [building async microservices](https://ep2015.europython.eu/conference/talks/building-async-microservices) 71 | 72 | - [using service discovery a distributed application](https://ep2015.europython.eu/conference/talks/using-service-discovery-a-distributed-application) 73 | https://github.com/ultrabug?tab=repositories 74 | http://www.ultrabug.fr/designing-a-scalable-and-distributed-application/ 75 | Core developer gentoo рассказывал про дизайн микросервисов с docker & consul 76 | https://github.com/kr/beanstalkd - Beanstalk is a simple, fast work queue 77 | 78 | - [distributed locks with python and redis](https://ep2015.europython.eu/conference/talks/distributed-locks-with-python-and-redis) 79 | 80 | - [python microservices on paas done right](https://ep2015.europython.eu/conference/talks/python-microservices-on-paas-done-right) 81 | 82 | - [Arrested Development - surviving the awkward adolescence of a microservices-based application](https://ep2015.europython.eu/conference/talks/arrested-development-surviving-the-awkward-adolescence-of-a-microservices-based-application) 83 | Yelp деляться опытом по мигрированию на микросервисы. 84 | http://swagger.io/ The World's Most Popular Framework for APIs. 85 | https://github.com/Yelp/bravado Bravado is a python client library for Swagger 2.0 services 86 | 87 | - [Preparing Apps for Dynamic Scaling](https://ep2015.europython.eu/conference/talks/preparing-apps-for-dynamic-scaling) 88 | Skyatlas рекламировал свое решение по динамическому увеличению cpu & ram в облаке как средсво для вертикального маштабирования. 89 | 90 | - [Python for Cloud Services and Infrastructure Management](https://ep2015.europython.eu/conference/talks/python-for-cloud-services-and-infrastructure-management) 91 | 92 | - [Python in the world of retail and mail order](https://ep2015.europython.eu/conference/talks/python-in-the-world-of-retail-and-mail-order) 93 | 94 | ## conteiners & clouds 95 | 96 | 97 | - [keynote so i have all these docker containers now what](https://ep2015.europython.eu/conference/talks/keynote-so-i-have-all-these-docker-containers-now-what) 98 | Google использует docker для запуска 10000 одинаковых воркеров на свободных ресурсах датацентра 99 | http://kubernetes.io/ 100 | 101 | - [the lightweight cloud server war begins](https://ep2015.europython.eu/conference/talks/the-lightweight-cloud-server-war-begins) 102 | 103 | - [to the clouds why you should deploy to the cloud even if you dont want to](https://ep2015.europython.eu/conference/talks/to-the-clouds-why-you-should-deploy-to-the-cloud-even-if-you-dont-want-to) 104 | Canonical рекламировал juju 105 | http://www.ubuntu.com/cloud/tools/juju 106 | https://jujucharms.com/ 107 | Провизор: упарвляет vm, железом, ресурсами, приложениями, etc... 108 | Работает поверх разных технологий, в том числе Fabric & Ansible 109 | 110 | - [architecture of a cloud hosting service using python technologies django ansible and celery](https://ep2015.europython.eu/conference/talks/architecture-of-a-cloud-hosting-service-using-python-technologies-django-ansible-and-celery) 111 | 112 | ## good code & coding & cli 113 | 114 | 115 | - [it works on my machine writing python code for any environment](https://ep2015.europython.eu/conference/talks/it-works-on-my-machine-writing-python-code-for-any-environment) 116 | Разработка приложений для python 2 + 3 на примере консольной утилиты aws tools 117 | Python: 118 | * renaming: six, move wrappers to other file 119 | * strings: check input type 120 | * limitation: use backports 121 | Os: 122 | * file handling: IoThread 123 | * file path: normalaze path with os midule 124 | * functionality: platform.system 125 | Testing: 126 | * running: virtualenv 127 | 128 | - [metrics driven development](https://ep2015.europython.eu/conference/talks/metrics-driven-development) 129 | 130 | - [beyond grep practical logging and metrics](https://ep2015.europython.eu/conference/talks/beyond-grep-practical-logging-and-metrics) 131 | 132 | - [argus the omniscient ci](https://ep2015.europython.eu/conference/talks/argus-the-omniscient-ci) 133 | 134 | - [using git hooks to help your engineering teams work autonomously](https://ep2015.europython.eu/conference/talks/using-git-hooks-to-help-your-engineering-teams-work-autonomously) 135 | https://github.com/zalando/turnstile 136 | https://tech.zalando.com/blog/using-git-hooks-to-help-your-engineering-teams-work-autonomously-video/ 137 | Рассказ о том, как уйти от svn в git и облегчить жизнь автономной команде инженеров. 138 | С готовыми примерами на github. 139 | 140 | - [python idioms to help you write good code](https://ep2015.europython.eu/conference/talks/python-idioms-to-help-you-write-good-code) 141 | 142 | - [a deep look at logging](https://ep2015.europython.eu/conference/talks/a-deep-look-at-logging) 143 | 144 | - [code quality in python tools and reasons](https://ep2015.europython.eu/conference/talks/code-quality-in-python-tools-and-reasons) 145 | 146 | - [building nice command line interfaces a look beyond the stdlib](https://ep2015.europython.eu/conference/talks/building-nice-command-line-interfaces-a-look-beyond-the-stdlib) 147 | 148 | - [come to the dark side we have a whole bunch of cookiecutters](https://ep2015.europython.eu/conference/talks/come-to-the-dark-side-we-have-a-whole-bunch-of-cookiecutters) 149 | 150 | - [terminal whispering](https://ep2015.europython.eu/conference/talks/terminal-whispering) 151 | 152 | - [Through the lens of Haskell: exploring new ideas for library design](https://ep2015.europython.eu/conference/talks/exploring-the-haskell-ecosystem-to-bring-back-some-ideas) 153 | 154 | - [DumbDev -- eight rules for dumb development](https://ep2015.europython.eu/conference/talks/dumbdev-eight-rules-for-dumb-development) 155 | 156 | - [Practical usage of advanced Python constructs](https://ep2015.europython.eu/conference/talks/practical-usage-of-advanced-python-constructs) 157 | 158 | - [Just Because You Can, Doesn't Mean You Should](https://ep2015.europython.eu/conference/talks/just-because-you-can-doesnt-mean-you-should) 159 | 160 | - https://pypi.python.org/pypi/hunter/ 161 | Hunter is a flexible code tracing toolkit, not for measuring coverage, but for debugging, logging, inspection and other nefarious purposes. It has a simple Python API and a convenient terminal API (see Environment variable activation). 162 | 163 | - https://github.com/ionelmc/python-fields 164 | Container class boilerplate killer 165 | 166 | ## data mining & data storing 167 | 168 | 169 | - [big data beautiful visualization on the browser with bokeh](https://ep2015.europython.eu/conference/talks/big-data-beautiful-visualization-on-the-browser-with-bokeh) 170 | 171 | - [new trends in storing large data silos with python](https://ep2015.europython.eu/conference/talks/new-trends-in-storing-large-data-silos-with-python) 172 | 173 | - [pyspark and warcraft data](https://ep2015.europython.eu/conference/talks/pyspark-and-warcraft-data) 174 | 175 | - [scale your data not your process welcome to the blaze ecosystem](https://ep2015.europython.eu/conference/talks/scale-your-data-not-your-process-welcome-to-the-blaze-ecosystem) 176 | 177 | - [lusterhq](https://clusterhq.com/) 178 | Container Data Management for your Dockerized Applications 179 | Господа делают решение по синхронизации данных по площадкам для контейнеров. 180 | Используют модуль ядра zfs и пишут асинхронный код на twisted. 181 | Пообщаться с инженерами было интересно. 182 | 183 | - [python and postgresql a wonderful wedding](https://ep2015.europython.eu/conference/talks/python-and-postgresql-a-wonderful-wedding) 184 | 185 | - [data-analysis-and-map-reduce-with-mongodb-and-pymongo](https://ep2015.europython.eu/conference/talks/data-analysis-and-map-reduce-with-mongodb-and-pymongo) 186 | 187 | - [from basic distance search to a complex multi criteria search](https://ep2015.europython.eu/conference/talks/from-basic-distance-search-to-a-complex-multi-criteria-search) 188 | 189 | - [pyspark data processing in python on top of apache spark](https://ep2015.europython.eu/conference/talks/pyspark-data-processing-in-python-on-top-of-apache-spark) 190 | 191 | - [Beyond the basics with Elasticsearch](https://ep2015.europython.eu/conference/talks/beyond-the-basics-with-elasticsearch) 192 | 193 | - [Big Data with Python & Hadoop](https://ep2015.europython.eu/conference/talks/big-data-with-python-hadoop) 194 | 195 | - [Bringing PostgreSQL towards zero downtime migration with Python](https://ep2015.europython.eu/conference/talks/bringing-postgresql-towards-zero-downtime-migration-with-python) 196 | 197 | - [Speeding up search with locality sensitive hashing](https://ep2015.europython.eu/conference/talks/speeding-up-search-with-locality-sensitive-hashing) 198 | Неплохой доклад про data mining: 199 | * поиск соседей или похожих товаров 200 | * поиск похожих изображений 201 | * рекомендации 202 | Используют hash table, balancing tree, random vector spliting, binary forest 203 | 204 | - [efficient memorydisk data containers with python](https://ep2015.europython.eu/conference/talks/efficient-memorydisk-data-containers-with-python) 205 | 206 | - https://github.com/Blosc/bcolz 207 | http://blosc.org/ 208 | bcolz: columnar and compressed data containers (эфективен на современных cpu) 209 | 210 | ## scraping 211 | 212 | 213 | - [frontera open source large scale web crawling framework](https://ep2015.europython.eu/conference/talks/frontera-open-source-large-scale-web-crawling-framework) 214 | http://scrapinghub.com/ 215 | Расширенный паук для извлечения информации из веба + онлайн saas платформа. 216 | 217 | - [advanced web scraping](https://ep2015.europython.eu/conference/talks/advanced-web-scraping) 218 | Хороший доклад об извлечении данных из веба с помощью scrapy, portia, frontera 219 | 220 | - [dive into scrapy](https://ep2015.europython.eu/conference/talks/testing) 221 | 222 | ## testing 223 | 224 | 225 | - [sustainable way of testing your code](https://ep2015.europython.eu/conference/talks/sustainable-way-of-testing-your-code) 226 | 227 | - [lessons learned about testing and tdd](https://ep2015.europython.eu/conference/talks/lessons-learned-about-testing-and-tdd) 228 | 229 | - [tdd is not about tests](https://ep2015.europython.eu/conference/talks/tdd-is-not-about-tests) 230 | 231 | - [mashing up pytest coverage.py and ast.py to take tdd to a new level](https://ep2015.europython.eu/conference/talks/mashing-up-pytest-coveragepy-and-astpy-to-take-tdd-to-a-new-level) 232 | 233 | - [tdd for apis](https://ep2015.europython.eu/conference/talks/tdd-for-apis) 234 | 235 | - [12 years of pylint or how i stopped worrying and love the bugs](https://ep2015.europython.eu/conference/talks/12-years-of-pylint-or-how-i-stopped-worrying-and-love-the-bugs) 236 | Разработчик pylint о, собвственно, pylint 237 | 238 | - [tdd the why the how and the when not](https://ep2015.europython.eu/conference/talks/tdd-the-why-the-how-and-the-when-not) 239 | 240 | - [testing with two failure seeking missiles fuzzing and property based testing](https://ep2015.europython.eu/conference/talks/testing-with-two-failure-seeking-missiles-fuzzing-and-property-based-testing) 241 | Об тестировании рандомными данными в python 242 | 243 | - [whats the fuzz all about randomized data generation for robust unit testing](https://ep2015.europython.eu/conference/talks/whats-the-fuzz-all-about-randomized-data-generation-for-robust-unit-testing) 244 | 245 | - [faking it the art of testing using verified fakes](https://ep2015.europython.eu/conference/talks/faking-it-the-art-of-testing-using-verified-fakes) 246 | 247 | - [Testing web apps with Selenium](https://ep2015.europython.eu/conference/talks/testing-web-apps-with-selenium) 248 | 249 | - https://github.com/pacud/ep2015_pyteselenium 250 | pytest + selenium 251 | 252 | - https://github.com/judy2k/ish 253 | Ish is a stupid library that allows you to test if a variable is true-ish or false-ish. 254 | 255 | ## CI & CD & deploy 256 | 257 | 258 | - [the butler and the snake continuous integration for python](https://ep2015.europython.eu/conference/talks/the-butler-and-the-snake-continuous-integration-for-python) 259 | 260 | - [a pythonic approach to continuous delivery](https://ep2015.europython.eu/conference/talks/a-pythonic-approach-to-continuous-delivery) 261 | 262 | - [extending and embedding ansible with python](https://ep2015.europython.eu/conference/talks/extending-and-embedding-ansible-with-python) 263 | https://taiga.io/ Free. Open Source. Powerful. Taiga is a project management platform for startups and agile developers & designers who want a simple, beautiful tool that makes work truly enjoyable. 264 | Сама презентация о: 265 | * как вызвать ansible код из своего скрипта 266 | * как писать новое расширение для ansible 267 | 268 | - [easy fullstack deployments](https://ep2015.europython.eu/conference/talks/easy-fullstack-deployments) 269 | We will cover from, the project creation (using Pyramid web framework), to maintaining a consistent deployment infrastructure using buildout and docker containers. 270 | 271 | - [Continuous Deployment for webapps based on Django](https://ep2015.europython.eu/conference/talks/continuous-deployment-for-webapps-based-on-django) 272 | 273 | ## web & api 274 | 275 | 276 | - [building mobile apis with services at yelp](https://ep2015.europython.eu/conference/talks/building-mobile-apis-with-services-at-yelp) 277 | 278 | - [max realtime messaging and activity stream engine](https://ep2015.europython.eu/conference/talks/max-realtime-messaging-and-activity-stream-engine) 279 | https://github.com/UPCnet/max 280 | Multi-source user and application generated activity registry engine with asyncronous messaging and conversations facility. 281 | http://max.beta.upcnet.es/docs/v3/en 282 | Самописный фреймворк поверх pyramid & gevent с собственным протоколом (json based) сообщений поверх mq. 283 | 284 | - [reahl the python only web framework](https://ep2015.europython.eu/conference/talks/reahl-the-python-only-web-framework) 285 | Reahl is a full-featured web framework with a twist: with Reahl you write a web application purely in Python. HTML, JavaScript, CSS and all those cumbersome web technologies (and a few other lower level concerns) are hidden away from you 286 | 287 | - [Solving the web most popular code shortening competition in Python](https://ep2015.europython.eu/conference/talks/solving-the-web-most-popular-code-shortening-competition-in-python) 288 | 289 | - [Learnt lessons in a big Django Project](https://ep2015.europython.eu/conference/talks/learnt-lessons-in-a-big-django-project) 290 | 291 | ## parallel and asynchronous programming 292 | 293 | 294 | - [mastering asyncio applications](https://ep2015.europython.eu/conference/talks/mastering-asyncio-applications) 295 | 296 | - [understanding non blocking io](https://ep2015.europython.eu/conference/talks/understanding-non-blocking-io) 297 | 298 | - [better asynchronous code with tornado and python3](https://ep2015.europython.eu/conference/talks/better-asynchronous-code-with-tornado-and-python-3) 299 | 300 | - [distributed workflows with flowy](https://ep2015.europython.eu/conference/talks/distributed-workflows-with-flowy) 301 | https://flowy.readthedocs.org/en/latest/ 302 | Однопоточное асинхронное приложение для запуска графа задач вроде celery. 303 | 304 | - [Parallelism Shootout: threads vs asyncio vs multiple processes](https://ep2015.europython.eu/conference/talks/parallelism-shootout-threads-vs-asyncio-vs-multiple-processes) 305 | 306 | ## security 307 | 308 | 309 | - [python security cryptography](https://ep2015.europython.eu/conference/talks/python-security-cryptography) 310 | https://speakerdeck.com/jmortega - остальные презентации спикера 311 | * pycrypto 312 | * cryptography 313 | * django-secure 314 | * securedjango.com 315 | * ponycheckup.com 316 | * owasp 317 | * stepic 318 | * stegano 319 | * cryptopng 320 | 321 | - [taking the pain out of passwords and authentication](https://ep2015.europython.eu/conference/talks/taking-the-pain-out-of-passwords-and-authentication) 322 | - Introduce the new standards Universal Authentication Framework (UAF) & Universal Second Factor (U2F) 323 | - Show how to integrate UAF/U2F in Django and other Python frameworks 324 | - Introduce Sonipass - a project to replace passwords, even on existing websites 325 | 326 | ## documentation 327 | 328 | 329 | - [MkDocs: Documenting projects with Markdow](https://ep2015.europython.eu/conference/talks/mkdocs-documenting-projects-with-markdown) 330 | Документация из markdown. WG Deployment использует в связке с readthedocs (docs.wargaming.net) 331 | В последней версии много нового, нужно обновиться. 332 | 333 | - [FOSS DOCS 101 (keep it simple, present!)](https://ep2015.europython.eu/conference/talks/foss-docs-101-keep-it-simple-present) 334 | Mikey Ariel - технический писатель в redhut про документацию. 335 | 336 | Правильные вопросы: 337 | - who are my readers? 338 | - what they want to know? 339 | - when they need this content? 340 | - where they consume this content? 341 | - why they even need this content? 342 | 343 | Поиск по документам важен. 344 | 345 | Devops for docs: 346 | - unified toolchain 347 | - use the same toolchain that used for code 348 | - continuous integration 349 | - iterative autoring 350 | - content curation 351 | - automation 352 | 353 | Docs or it didn't happen: 354 | - contribution guidelines 355 | - templates 356 | - collaboration and training 357 | 358 | "open help" project 359 | 360 | ## interesting frameworks and libraries 361 | 362 | 363 | - [keynote towards a more effective decentralized web](https://ep2015.europython.eu/conference/talks/keynote-towards-a-more-effective-decentralized-web) 364 | http://ipfs.io/ 365 | 366 | - [python in the sky](https://ep2015.europython.eu/conference/talks/python-in-the-sky-in-flight-entertainment-with-python) 367 | single-threaded 368 | http://immfly.com/ - Wi-Fi с рекламой и шопингом в самалетах. 369 | Синхронизация в ангаре с использовпнием ansible pull. 370 | 371 | - [introduction to baserock](https://ep2015.europython.eu/conference/talks/introduction-to-baserock) 372 | http://wiki.baserock.org/ 373 | Система сборки, работает на unix, умеет: 374 | * metadata 375 | * overrides 376 | * cache 377 | * сборка с нуля в chroot 378 | * образы для docker, openstack, блочный img 379 | * browser board 380 | * etc... 381 | 382 | - [odoo the underdog python killer app a python framework for web based business apps](https://ep2015.europython.eu/conference/talks/odoo-the-underdog-python-killer-app-a-python-framework-for-web-based-business-apps) 383 | Платформа и фрэймворк для создания бизнес приложений. 384 | Конструктор, файлы конфигураций в формате xml, очень большой и кастомизируемый. 385 | 386 | - [python gamedev mlg](https://ep2015.europython.eu/conference/talks/python-gamedev-mlg) 387 | https://www.youtube.com/watch?v=PIcCsZ3Nk8I 388 | Presentation of Kobra, a modern open source Python game development framework with ECS (Entity Component System) architecture and C++ bindings. 389 | Beta обещают в декабре. 390 | 391 | - [numpy vectorize your brain](https://ep2015.europython.eu/conference/talks/numpy-vectorize-your-brain) 392 | Базовое описание numpy 393 | 394 | - [gitfs building a filesystem in python](https://ep2015.europython.eu/conference/talks/gitfs-building-a-filesystem-in-python) 395 | Монтирование репозитория git как набор каталогов: 396 | * rw директория с head 397 | * ro структура каталогов по комитам 398 | * кэширование на 3 уровнях 399 | * лимиты на бинарные файлы 400 | Использует pygit2 + fusepy 401 | 402 | - ["It's about time to take your medication!" or how to write a friendly reminder bot ;-)](https://ep2015.europython.eu/conference/talks/its-about-time-to-take-your-medication-or-how-to-write-a-friendly-reminder-bot) 403 | 404 | - https://pythonhosted.org/pulsar 405 | Event driven concurrent framework for python. With pulsar you can write asynchronous servers performing one or several activities in different threads and/or processes 406 | 407 | - https://github.com/cenkalti/exceptional-python 408 | a python client for Exceptional, a service which tracks errors in your web apps 409 | 410 | - https://github.com/pyland/pyland 411 | A game to help children learn Python 412 | 413 | - https://github.com/ionelmc/python-manhole 414 | Debugging manhole for python applications 415 | 416 | - https://github.com/Friz-zy/pyspaces 417 | Works with Linux namespaces througth glibc with pure python 418 | 419 | - https://borgbackup.github.io/borgbackup/ 420 | Borg is a deduplicating backup program. Optionally, it also supports compression and authenticated encryption. 421 | 422 | - https://github.com/conda/conda 423 | Cross-platform, Python-agnostic binary package manager http://conda.pydata.org 424 | 425 | - http://www.qtile.org/ 426 | A full-featured, hackable tiling window manager written and configured in Python 427 | --------------------------------------------------------------------------------