分类目录归档:github

Graphene-Python的GraphQL框架

引言

Graphene是一个固执己见的Python库,用于快速轻松地构建GraphQL架构/类型

  • 易于使用:石墨烯可帮助您轻松使用Python中的GraphQL
  • 继电器:石墨烯具有对中继的内置支持
  • 数据不可知:石墨烯支持任何类型的数据源:SQL(Django、SQLAlChemy)、NoSQL、自定义Python对象等。我们相信,通过提供完整的API,您可以将Graphene插入数据所在的任何位置,并通过GraphQL使您的数据可用

集成

石墨烯与不同的框架有多种集成:

集成 套餐
姜戈 graphene-django
SQL炼金术 graphene-sqlalchemy
Google App Engine graphene-gae

此外,Graphene完全兼容GraphQL规范,可以与所有GraphQL客户端无缝协作,例如RelayApollogql

安装

要安装石墨烯,只需在shell中运行此命令

pip install "graphene>=2.0"

示例

以下是您可以开始使用的一个示例:

import graphene

class Query(graphene.ObjectType):
    hello = graphene.String(description='A typical hello world')

    def resolve_hello(self, info):
        return 'World'

schema = graphene.Schema(query=Query)

然后查询graphene.Schema简单到如下所示:

query = '''
    query SayHello {
      hello
    }
'''
result = schema.execute(query)

如果您想了解更多,您还可以检查以下内容examples

文档

有关其他资源的文档和链接,请访问https://docs.graphene-python.org/en/latest/

贡献

克隆此存储库后,请创建virtualenv并通过运行以下命令确保安装了依赖项:

virtualenv venv
source venv/bin/activate
pip install -e ".[test]"

编写良好的测试并保持良好的测试覆盖率对此项目非常重要。在开发过程中,使用以下各项运行新的和现有的测试:

py.test graphene/relay/tests/test_node.py # Single file
py.test graphene/relay # All tests in directory

添加-s标记是否已将断点引入代码以进行调试。添加-v(“详细”)标志,以获取更详细的测试输出。要获得更详细的输出,请使用-vv请查看pytest documentation有关更多选项和测试运行控件的信息

您还可以使用以下命令运行基准测试:

py.test graphene --benchmark-only

石墨烯支持多个版本的Python。为了确保更改不会破坏与任何这些版本的兼容性,我们使用tox为每个Python版本创建Virtualenv并使用该版本运行测试。中定义的所有Python版本运行tox.ini配置文件,只需运行:

tox

中定义的特定版本运行tox.ini文件:

tox -e py36

TOX只能使用系统上安装的任何版本的Python。当您创建Pull请求时,Travis还将运行相同的测试并报告结果,因此潜在贡献者没有必要尝试提前在自己的系统上安装每个版本的Python。我们感谢公开的问题和拉请求,以使石墨烯更稳定和有用!

建筑文档

文档是使用优秀的Sphinx和自定义主题

该文档的HTML版本是通过运行以下命令生成的:

make docs

Numba-使用LLVM的NumPy感知动态Python编译器

Numba

Python中数值函数的实时编译器

Numba是一个开源的、支持NumPy的Python优化编译器,由Anaconda,Inc.赞助。它使用LLVM编译器项目从Python语法生成机器码

Numba可以编译大量以数字为中心的Python,包括许多NumPy函数。此外,Numba还支持循环的自动并行化、GPU加速代码的生成以及ufuncs和C回调的创建

有关Numba的更多信息,请参阅Numba主页:https://numba.pydata.org

支持的平台

  • 操作系统和CPU:
    • Linux:x86(32位)、x86_64、ppc64le(POWER8和9)、ARMv7(32位)、ARMv8(64位)
    • Windows:x86、x86_64
    • MacOS:x86_64(M1/ARM64,仅非官方支持)
    • *BSD:(仅限非官方支持)
  • (可选)加速器和GPU:
    • Linux、Windows、MacOS(<10.14)上通过CUDA驱动程序实现的NVIDIA GPU(开普勒架构或更高版本)

依赖项

  • Python版本:3.7-3.9
  • 伊利莫利石0.37。*
  • NumPy>=1.17(可以使用1.11构建以实现ABI兼容性)

(可选):

  • SciPy>=1.0.0(适用于numpy.linalg支持)

正在安装

安装Numba并获取更新的最简单方法是使用Anaconda发行版:https://www.anaconda.com/download

$ conda install numba

有关更多选项,请参阅安装指南:https://numba.readthedocs.io/en/stable/user/installing.html

文档

https://numba.readthedocs.io/en/stable/index.html

邮件列表

Numba有一个供讨论的话语论坛:

一些旧的邮件列表档案位于:

持续集成

Records-面向人类的sql

Records:用于人类的sql™

Records是一个非常简单但功能强大的库,用于对大多数关系数据库进行原始SQL查询

只需编写SQL即可。没有铃声,没有口哨。使用可用的标准工具,这项常见任务可能会出人意料地困难。该库努力使此工作流尽可能简单,同时提供一个优雅的界面来处理您的查询结果

数据库支持包括RedShift、Postgres、MySQL、SQLite、Oracle和MS-SQL(不包括驱动程序)


☤基础知识

我们知道如何编写SQL,所以让我们将一些内容发送到我们的数据库:

import records

db = records.Database('postgres://...')
rows = db.query('select * from active_users')    # or db.query_file('sqls/active-users.sql')

一次抓取一行:

>>> rows[0]
<Record {"username": "model-t", "active": true, "name": "Henry Ford", "user_email": "model-t@gmail.com", "timezone": "2016-02-06 22:28:23.894202"}>

或者迭代它们:

for r in rows:
    print(r.name, r.user_email)

可以通过多种方式访问值:row.user_emailrow['user_email'],或row[3]

还完全支持包含非字母数字字符(如空格)的字段

或存储您的记录集合的副本以供以后参考:

>>> rows.all()
[<Record {"username": ...}>, <Record {"username": ...}>, <Record {"username": ...}>, ...]

如果您只期待一个结果:

>>> rows.first()
<Record {"username": ...}>

其他选项包括rows.as_dict()rows.as_dict(ordered=True)

☤功能

  • 迭代行被缓存以供将来引用
  • $DATABASE_URL环境变量支持
  • 便利性Database.get_table_names方法
  • 用于导出查询的命令行记录工具
  • 安全参数化:Database.query('life=:everything', everything=42)
  • 查询可以作为字符串或文件名传递,支持的参数
  • 交易记录:t = Database.transaction(); t.commit()
  • 批量操作:Database.bulk_query()&Database.bulk_query_file()

唱片公司自豪地由SQLAlchemyTablib

☤数据导出功能

Record还具有完全的Tablib集成功能,允许您通过一行代码将结果导出为CSV、XLS、JSON、HTML表、YAML或Pandas DataFrames。非常适合与朋友共享数据或生成报告

>>> print(rows.dataset)
username|active|name      |user_email       |timezone
--------|------|----------|-----------------|--------------------------
model-t |True  |Henry Ford|model-t@gmail.com|2016-02-06 22:28:23.894202
...

逗号分隔值(CSV)

>>> print(rows.export('csv'))
username,active,name,user_email,timezone
model-t,True,Henry Ford,model-t@gmail.com,2016-02-06 22:28:23.894202
...

YAML Ain‘t Markup Language(YAML)

>>> print(rows.export('yaml'))
- {active: true, name: Henry Ford, timezone: '2016-02-06 22:28:23.894202', user_email: model-t@gmail.com, username: model-t}
...

JavaScript对象表示法(JSON)

>>> print(rows.export('json'))
[{"username": "model-t", "active": true, "name": "Henry Ford", "user_email": "model-t@gmail.com", "timezone": "2016-02-06 22:28:23.894202"}, ...]

Microsoft Excel(xls,xlsx)

with open('report.xls', 'wb') as f:
    f.write(rows.export('xls'))

熊猫数据帧

>>> rows.export('df')
    username  active       name        user_email                   timezone
0    model-t    True Henry Ford model-t@gmail.com 2016-02-06 22:28:23.894202

你说对了。Tablib的所有其他功能也可用,因此您可以对结果进行排序、添加/删除列/行、删除重复项、转置表格、添加分隔符、按列切片数据等

请参阅Tablib Documentation有关更多详细信息,请参阅

☤安装

当然,推荐的安装方法是pipenv

$ pipenv install records[pandas]
✨🍰✨

☤命令行工具

作为额外的奖励,一个records自动包括命令行工具。以下是使用信息的截图:

☤,谢谢你

感谢您借阅本图书馆!我希望你会觉得它有用

当然,总有改进的空间。请随意……open an issue所以我们可以把唱片做得更好、更强、更快

Tensorlayer-面向科学家和工程师的深度学习和强化学习库🔥

TensorLayer是一个为研究人员和工程师设计的基于TensorFlow的深度学习和强化学习库。它提供了大量的可定制的神经层来快速构建高级的AI模型,在此基础上,社区开源的MASStutorialsapplicationsTensorLayer荣获2017年度最佳开源软件奖ACM Multimedia Society该项目也可以在iHubGitee

新闻

🔥3.0.0将支持多个后端,如TensorFlow、MindSporte、PaddlePaddle等,允许用户在NVIDIA-GPU和华为-Ascend等不同硬件上运行代码。我们需要更多的人加入开发团队,如果你感兴趣,请发电子邮件hao.dong@pku.edu.cn

🔥强化学习动物园:Low-level APIs对于专业用途,High-level APIs对于简单的用法,以及相应的Springer textbook

🔥Sipeed Maxi-EMC:在上运行TensorLayer模型一种低成本的AI芯片(例如K210)(Alpha版本)

设计特点

TensorLayer是一个全新的深度学习库,其设计考虑到了简单性、灵活性和高性能

  • 简单性:TensorLayer具有易于学习的高级层/模型抽象。您可以在几分钟内了解深度学习如何为您的人工智能任务带来好处,通过海量的examples
  • 灵活性:TensorLayer API是透明和灵活的,灵感来自新兴的PyTorch库。与KERAS抽象相比,TensorLayer使构建和训练复杂的AI模型变得容易得多
  • 零成本抽象:虽然使用起来很简单,但TensorLayer并不要求您在TensorFlow的性能上做出任何妥协(有关更多详细信息,请查看以下基准测试部分)

TensorLayer位于TensorFlow包装器中的一个独特位置。其他包装器,如Kera和TFLearn,隐藏了TensorFlow的许多强大功能,并且对编写自定义AI模型几乎没有提供支持。受到PyTorch的启发,TensorLayer API简单、灵活、Pythonic,让学习变得轻松,同时足够灵活地应对复杂的AI任务。TensorLayer拥有一个快速增长的社区。它已经被世界各地的研究人员和工程师使用,包括来自北京大学、伦敦帝国理工学院、加州大学伯克利分校、卡内基梅隆大学、斯坦福大学的研究人员和工程师,以及谷歌、微软、阿里巴巴、腾讯、小米和彭博社等公司的研究人员和工程师

多语种文档

TensorLayer为初学者和专业人士提供了大量文档。该文档有英文和中文两种版本。



如果您想在主分支上尝试实验功能,可以找到最新的文档here

大量的例子

中可以找到大量使用TensorLayer的示例here以及以下空格:

快速入门

TensorLayer2.0依赖于TensorFlow、Numpy等。要使用GPU,需要CUDA和cuDNN

安装TensorFlow:

pip3 install tensorflow-gpu==2.0.0-rc1 # TensorFlow GPU (version 2.0 RC1)
pip3 install tensorflow # CPU version

安装稳定版本的TensorLayer:

pip3 install tensorlayer

安装TensorLayer的不稳定开发版本:

pip3 install git+https://github.com/tensorlayer/tensorlayer.git

如果要安装其他依赖项,还可以运行

pip3 install --upgrade tensorlayer[all]              # all additional dependencies
pip3 install --upgrade tensorlayer[extra]            # only the `extra` dependencies
pip3 install --upgrade tensorlayer[contrib_loggers]  # only the `contrib_loggers` dependencies

如果您是TensorFlow 1.X用户,则可以使用TensorLayer 1.11.0:

# For last stable version of TensorLayer 1.X
pip3 install --upgrade tensorlayer==1.11.0

性能基准

下表显示了以下各项的训练速度VGG16在Titan XP上使用TensorLayer和原生TensorFlow

模式 Lib 数据格式 最大GPU内存使用量(MB) 最大CPU内存使用量(MB) 平均CPU内存使用率(MB) 运行时间(秒)
亲笔签名 TensorFlow 2.0 最后一个频道 11833 2161 2136 74
TensorLayer 2.0 最后一个频道 11833 2187 2169 76
图表 凯拉斯 最后一个频道 8677 2580 2576 101
渴望 TensorFlow 2.0 最后一个频道 8723 2052年 2024年 97
TensorLayer 2.0 最后一个频道 8723 2010年 2007年 95

参与其中

请阅读Contributor Guideline在提交您的请购单之前

我们建议用户使用Github问题报告错误。用户还可以讨论如何在以下空闲通道中使用TensorLayer

引用TensorLayer

如果您觉得TensorLayer对您的项目有用,请引用以下论文:

@article{tensorlayer2017,
    author  = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike},
    journal = {ACM Multimedia},
    title   = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}},
    url     = {http://tensorlayer.org},
    year    = {2017}
}

@inproceedings{tensorlayer2021,
  title={Tensorlayer 3.0: A Deep Learning Library Compatible With Multiple Backends},
  author={Lai, Cheng and Han, Jiarong and Dong, Hao},
  booktitle={2021 IEEE International Conference on Multimedia \& Expo Workshops (ICMEW)},
  pages={1--3},
  year={2021},
  organization={IEEE}
}

30-Days-Of-Python-30天的Python编程挑战是在30天内学习Python

🐍巨蟒的30天

#天 主题
01 Introduction
02 Variables, Built-in Functions
03 Operators
04 Strings
05 Lists
06 Tuples
07 Sets
08 Dictionaries
09 Conditionals
10个 Loops
11个 Functions
12个 Modules
13个 List Comprehension
14. Higher Order Functions
15个 Python Type Errors
16个 Python Date time
17. Exception Handling
18岁 Regular Expressions
19个 File Handling
20个 Python Package Manager
21岁 Classes and Objects
22 Web Scraping
23个 Virtual Environment
24个 Statistics
25个 Pandas
26岁 Python web
27 Python with MongoDB
28 API
29个 Building API
30个 Conclusions

🧡🧡🧡快乐编码🧡🧡🧡

支持作者制作更多的教育材料

巨蟒30天:第1天-简介






作者:Asabeneh Yetayeh
第二版:2021年7月

Day 2 >>

📘第一天

欢迎

祝贺你决定参加一项巨蟒的30天编程挑战。在本挑战中,您将学习成为一名Python程序员所需的一切以及整个编程概念。在挑战结束时,您将获得一个30天(共30天)的Python编程挑战证书

如果您愿意积极参与这项挑战,您可以加入30DaysOfPython challenge电报组

引言

Python是一种用于通用编程的高级编程语言。它是一种开放源码的、解释性的、面向对象的编程语言。Python是由荷兰程序员Guido van Rossum创建的。Python编程语言的名字来源于一部英国喜剧系列剧,月蟒飞行马戏团第一个版本于1991年2月20日发布。这个为期30天的Python挑战将帮助您逐步学习最新版本的Python,Python3。这些主题被分成30天,每天包含几个主题,其中有易于理解的解释、真实世界的例子、许多动手练习和项目。

这个挑战是为想要学习Python编程语言的初学者和专业人士设计的。可能需要30到100天才能完成挑战,积极参加电报组的人完成挑战的概率很高。如果你是一个视觉学习者或喜欢视频,你可以开始学习这个Python for Absolute Beginners video

为什么是Python?

它是一种非常接近人类语言的编程语言,因此很容易学习和使用。Python被各个行业和公司(包括Google)使用。它已用于开发Web应用程序、桌面应用程序、系统管理和机器学习库。Python是数据科学和机器学习社区中非常受欢迎的语言。我希望这足以说服您开始学习Python。巨蟒正在吞噬世界,在它吞噬你之前,你正在杀死它

环境设置

安装Python

要运行python脚本,您需要安装python。我们走吧downloadpython。如果您是Windows用户。单击用红色圈起来的按钮

如果您是MacOS用户。单击用红色圈起来的按钮

要检查是否安装了python,请在设备终端上编写以下命令

python --version

正如您在终端上看到的,我正在使用Python 3.7.5目前的版本。您的Python版本可能与我的有所不同,但应该是3.6或更高版本。如果您一定要看python版本,那就做得很好。您的计算机上已经安装了Python。继续下一节

Python外壳

Python是一种解释型脚本语言,因此不需要编译。这意味着它逐行执行代码。Python附带一个Python外壳(Python交互式外壳)它用于执行单个python命令并获得结果

Python Shell等待来自用户的Python代码。当您输入代码时,它会解释代码并在下一行显示结果。打开您的终端或命令提示符(Cmd)并写入:

python

Python交互式shell将打开,等待您编写Python代码(Python脚本)。您将在此符号>旁边编写Python脚本,然后单击Enter。让我们在Python脚本shell上编写我们的第一个脚本

做得很好,您在Python交互式shell上编写了第一个Python脚本。我们如何关闭Python交互式shell?要关闭外壳,请在此符号旁>>写入退出()命令,然后按Enter键

现在,您了解了如何打开Python交互式shell以及如何从其中退出

如果您编写Python能够理解的脚本,Python会给出结果,否则它会返回错误。让我们故意犯一个错误,看看Python将返回什么

正如您从返回的错误中看到的那样,Python非常聪明,它知道我们犯了什么错误语法错误:无效语法在Python中使用x作为乘法是语法错误,因为(X)在Python中不是有效语法。而不是(X)我们使用星号(*)进行乘法。返回的错误清楚地显示要修复的内容

从程序中识别和删除错误的过程称为调试让我们通过将*替换为*来调试它X

我们的错误被修复了,代码运行了,我们得到了预期的结果。作为一名程序员,您每天都会看到这样的错误。知道如何调试是件好事。要擅长调试,您应该了解您面临的是哪种错误。您可能会遇到的一些Python错误包括语法错误索引错误名称错误ModuleNotFoundError键错误导入错误AttributeErrorTypeError(类型错误)ValueErrorZeroDivisionError等等。我们将看到有关不同Python的更多信息错误类型在后面的部分中

让我们更多地练习如何使用Python交互式shell。转到您的终端或命令提示符,然后写下单词python

Python交互式外壳随即打开。让我们做一些基本的数学运算(加、减、乘、除、模、指数)

在编写任何Python代码之前,让我们先做一些数学计算:

  • 2+3=5
  • 3-2=1
  • 3*2=6
  • 3/2=1.5
  • 3^2=3 x 3=9

在python中,我们有以下附加操作:

  • 3%2=1=>这意味着找到余数
  • 3//2=1=>这意味着删除剩余部分

让我们将上面的数学表达式更改为Python代码。Python shell已打开,让我们在shell的最开始处编写注释

一个评论是代码的一部分,它不是由python执行的。因此,我们可以在代码中保留一些文本,以使代码更具可读性。Python不运行注释部分。python中的注释以散列(#)符号开头。这就是在python中编写注释的方式

 # comment starts with hash
 # this is a python comment, because it starts with a (#) symbol

在我们进入下一节之前,让我们先对Python交互式shell进行更多的练习。用书写的方式将打开的外壳合上退出()并再次打开它,让我们练习如何在Python shell上编写文本

安装Visual Studio代码

Python交互式shell很适合尝试和测试小脚本代码,但它不适用于大型项目。在实际工作环境中,开发人员使用不同的代码编辑器来编写代码。在这个为期30天的Python编程挑战中,我们将使用visual studio代码。visual studio代码是一个非常流行的开源文本编辑器。我是vscode的粉丝,我会推荐downloadVisual studio代码,但如果您喜欢其他编辑器,请随意遵循您已有的内容。

如果您安装了visual studio代码,让我们看看如何使用它。如果您喜欢视频,可以按照下面的Visual Studio Python代码进行操作Video tutorial

如何使用visual studio代码

通过双击visual studio图标打开visual studio代码。当你打开它的时候,你会看到这样的界面。尝试与带标签的图标交互

在桌面上创建名为30DaysOfPython的文件夹。然后使用visual studio代码打开它。

打开后,您将看到在30DaysOfPython项目目录内创建文件和文件夹的快捷方式。正如您在下面看到的,我已经创建了第一个文件helloworld.py。你也可以这么做

经过一天的编码,您想要关闭代码编辑器,对吗?这是关闭打开的项目的方式

恭喜您,您已经完成了开发环境的设置。让我们开始编码吧

基本Python

Python语法

Python脚本可以在Python交互式shell中编写,也可以在代码编辑器中编写。Python文件的扩展名为.py

Python缩进

缩进是文本中的空格。许多语言中都使用缩进来增加代码的可读性,但是Python使用缩进来创建挡路代码。在其他编程语言中,花括号用于创建代码块,而不是缩进。编写python代码时的一个常见错误是错误缩进。

评论

注释对于提高代码的可读性和在代码中留下注释非常重要。Python不运行我们代码的注释部分。在Python中,任何以散列(#)开头的文本都是注释

示例:单行注释

    # This is the first comment
    # This is the second comment
    # Python is eating the world

示例:多行注释

如果多行注释未赋值给变量,则可以使用三重引号作为多行注释

"""This is multiline comment
multiline comment takes multiple lines.
python is eating the world
"""

数据类型

在Python中,有几种类型的数据类型。让我们从最常见的开始吧。不同的数据类型将在其他部分详细介绍。现在,让我们先了解一下不同的数据类型并熟悉它们。你现在不需要有一个清晰的认识

  • INTEGER:整数(负数、零和正数)示例:。-3、-2、-1、0、1、2、3
  • FLOAT:十进制数示例。-3.5、-2.25、-1.0、0.0、1.1、2.2、3.5
  • 复数例1+j、2+4j

字符串

单引号或双引号下的一个或多个字符的集合。如果一个字符串不止一个句子,那么我们使用三重引号

示例:

'Asabeneh'
'Finland'
'Python'
'I love teaching'
'I hope you are enjoying the first day of 30DaysOfPython Challenge'

布尔人

布尔数据类型可以是True值,也可以是False值。T和F应始终为大写

示例:

    True  #  Is the light on? If it is on, then the value is True
    False # Is the light on? If it is off, then the value is False

列表

Python列表是一个有序集合,允许存储不同数据类型的项。列表类似于JavaScript中的数组

示例:

[0, 1, 2, 3, 4, 5]  # all are the same data types - a list of numbers
['Banana', 'Orange', 'Mango', 'Avocado'] # all the same data types - a list of strings (fruits)
['Finland','Estonia', 'Sweden','Norway'] # all the same data types - a list of strings (countries)
['Banana', 10, False, 9.81] # different data types in the list - string, integer, boolean and float

词典

Python字典对象是键值对格式的无序数据集合

示例:

{
'first_name':'Asabeneh',
'last_name':'Yetayeh',
'country':'Finland', 
'age':250, 
'is_married':True,
'skills':['JS', 'React', 'Node', 'Python']
}

元组

元组是不同数据类型(如列表)的有序集合,但是元组一旦创建就不能修改。它们是不变的

示例:

('Asabeneh', 'Pawel', 'Brook', 'Abraham', 'Lidiya') # Names
('Earth', 'Jupiter', 'Neptune', 'Mars', 'Venus', 'Saturn', 'Uranus', 'Mercury') # planets

设置

集合是类似于列表和元组的数据类型的集合。与列表和元组不同,Set不是项的有序集合。与在数学中一样,在Python中设置仅存储唯一项

在后面的部分中,我们将详细介绍每种Python数据类型

示例:

{2, 4, 3, 5}
{3.14, 9.81, 2.7} # order is not important in set

正在检查数据类型

为了检查某些数据/变量的数据类型,我们使用类型功能。在下面的终端中,您将看到不同的python数据类型:

Python文件

首先打开项目文件夹30DaysOfPython。如果没有此文件夹,请创建名为30DaysOfPython的文件夹名称。在该文件夹中,创建一个名为helloworld.py的文件。现在,让我们使用visual studio代码执行我们在python交互式shell上所做的操作。

在未使用的情况下打印Python交互式外壳打印但是在visual studio代码中,要查看我们的结果,我们应该使用内置函数*print()。这个打印()内置函数接受一个或多个参数,如下所示print(‘arument1’,‘argument2’,‘argument3’)请参阅下面的示例

示例:

文件名为helloworld.py

# Day 1 - 30DaysOfPython Challenge

print(2 + 3)             # addition(+)
print(3 - 1)             # subtraction(-)
print(2 * 3)             # multiplication(*)
print(3 / 2)             # division(/)
print(3 ** 2)            # exponential(**)
print(3 % 2)             # modulus(%)
print(3 // 2)            # Floor division operator(//)

# Checking data types
print(type(10))          # Int
print(type(3.14))        # Float
print(type(1 + 3j))      # Complex number
print(type('Asabeneh'))  # String
print(type([1, 2, 3]))   # List
print(type({'name':'Asabeneh'})) # Dictionary
print(type({9.8, 3.14, 2.7}))    # Set
print(type((9.8, 3.14, 2.7)))    # Tuple

要运行python文件,请检查下面的图像。您可以通过运行Visual Studio代码上的绿色按钮或键入以下命令来运行python文件Python helloworld.py在航站楼里

🌕你太棒了。你刚刚完成了第一天的挑战,你正在走向伟大的道路上。现在为你的大脑和肌肉做一些运动

💻练习-第1天

练习:Level 1

  1. 检查您正在使用的python版本
  2. 打开python交互式shell并执行以下操作。操作数是3和4
    • 加法(+)
    • 减法(-)
    • 乘法(*)
    • 模量(%)
    • 分区(/)
    • 指数(**)
    • 楼层分割运算符(//)
  3. 在python交互式shell上编写字符串。字符串如下:
    • 你的名字
    • 您的姓氏
    • 你们的国家
    • 我正在享受30天的python之旅
  4. 检查以下数据的数据类型:
    • 10个
    • 9.8
    • 3.14
    • 4-4J
    • [‘Asabeneh’,‘Python’,‘芬兰’]
    • 你的名字
    • 您的姓氏
    • 你们的国家

练习:Level 2

  1. 在30DaysOfPython文件夹内创建名为DAY_1的文件夹。在day_1文件夹内,创建一个python文件helloworld.py并重复问题1、2、3和4。打印()当您正在处理python文件时。导航到保存文件的目录,然后运行它

练习:级别3

  1. 为不同的Python数据类型(如Number(Integer、Float、Complex)、String、Boolean、List、Tuple、Set和Dictionary)编写示例
  2. 查找一个Euclidian distance介于(2,3)和(10,8)之间

🎉恭喜你!🎉

Day 2 >>

Botframework-sdk-BOT框架为构建对话应用程序提供了最全面的体验

BOT框架为构建对话应用程序提供了最全面的体验

使用Bot Framework SDK,开发人员可以构建与自由格式或具有引导交互的机器人进行交互,包括使用包含文本、图像和操作按钮的简单文本或富卡

开发人员可以使用他们喜欢的编程语言(包括C#、JS、Python和Java)建模和构建复杂的对话,也可以使用Bot Framework Composer,这是一个开源的可视化创作画布,供开发人员和多学科团队设计和构建对话体验,包括语言理解、QNA Maker和BOT回复的复杂组合(Language Generation)

签出 Bot Framework ecosystem部分,了解与Bot Framework SDK相关的其他工具和服务的更多信息

快速链接

|Bot Framework Composer|C# Repo|JS Repo|Python Repo|Java Repo|BF CLI|

BOT框架SDK v4

Bot Framework SDK v4是一个open source SDK使开发人员能够使用他们最喜欢的编程语言建模和构建复杂的对话

C# JS python Java语言
稳定释放 packages packages packages packages
文档 docs docs docs docs
样本 .NET CoreWebAPI Node.jsTypeScriptes6 Python Java

通道和适配器

有两种方式可以将你的机器人连接到客户端体验:

  • Azure Bot服务频道-通过Azure Bot服务提供语言和SDK独立支持
  • BOT框架SDK适配器-每种语言适配器组件
客户端 蔚蓝通道 C#适配器 JS适配器 Python适配器
微软团队 Azure
直达线路 Azure
网络聊天 Azure Botkit
Skype Azure
电子邮件 Azure
Facebook Azure SDK Botkit
松弛 Azure SDK Botkit SDK
Kik Azure
电报 Azure
线路 Azure
GroupMe Azure
Twilio(短信) Azure SDK Botkit
Alexa技能 Community Community
谷歌行动 Community Community
Google Hangout Botkit
WebEx SDK Botkit
WhatsApp(Infobip) Community
缩放 Community
RingCentral Community
科尔塔纳 Azure
控制台 Community

社区开源项目

以下开放源码社区提供了各种组件来扩展您的bot应用程序,包括适配器、识别器、对话框和中间件

C# JavaScript python Java语言
Bot Framework Community C# JavaScript Python Java
Botkit JavaScript

问题和帮助

如果您对Bot Framework SDK或使用Azure Bot服务有任何疑问,我们鼓励您联系社区和Azure Bot服务开发团队寻求帮助

查看所有可用的支持选项here

问题和功能请求

我们在不同的位置跟踪Bot Framework SDK、工具和Azure Bot服务的功能问题和功能需求。如果您发现问题或有功能请求,请将问题提交到以下存储库

项目 描述 链接
SDK v4.NET 用于.NET、连接器、中间件、对话框、提示、Luis和QNA的核心bot运行时 File an issue
SDK v4 JavaScript 用于TypeScript/Javascript、连接器、中间件、对话框、提示符、Luis和QNA的核心bot运行时 File an issue
SDK v4 Python Python、连接器、中间件、对话框、提示、Luis和QNA的核心bot运行时 File an issue
SDK v4 Java 面向Java、连接器、中间件、对话框、提示、Luis和QNA的核心bot运行时 File an issue
BOT框架组合器 BOT框架合成器电子和Web应用程序 File an issue
BOT框架CLI BOT框架cli工具 File an issue
网络聊天 BOT框架网络聊天工具 File an issue

以前的版本

BOT框架生态系统

BOT框架组合器

Bot Framework Composer是一个集成开发工具,供开发人员和多学科团队使用Microsoft Bot Framework构建机器人和对话体验。在此工具中,您将找到构建复杂对话体验所需的一切

博基特

Botkit是一个开发人员工具和SDK,用于为主要消息传递平台构建聊天机器人、应用程序和自定义集成。僵尸机器人hear()触发器,ask()问题和say()回复。开发人员可以使用此语法构建对话框-现在可与最新版本的Bot Framework SDK交叉兼容

此外,botkit还附带了6个平台适配器,允许Javascript bot应用程序直接与消息传递平台通信:SlackWebex TeamsGoogle HangoutsFacebook MessengerTwilio,以及Web chat

botkit是Microsoft Bot Framework的一部分,在MIT Open Source license

BOT框架虚拟助手解决方案加速器

这个Bot Framework Solutions repository是世界上最大的Virtual Assistant Solution Accelerator,它提供了一组模板、解决方案加速器和技能,以帮助构建复杂的对话体验

  • Virtual Assistant.客户和合作伙伴非常需要为他们的品牌量身定做一个对话助手,为他们的用户量身定做,并且在各种画布和设备上都可以使用。

    这汇集了所有支持组件,并极大地简化了新BOT项目的创建,包括:基本对话意图、调度集成、QNA Maker、Application Insight和自动化部署

  • Skills.一个可重复使用的会话技能构建块库,使您可以向Bot添加功能。我们目前提供:日历,电子邮件,任务,兴趣点,汽车,天气和新闻技能。技能包括以源代码形式交付的Luis模型、对话框和集成代码,以便根据需要进行自定义和扩展
  • Analytics.使用Bot Framework Analytics解决方案获得对您的机器人的健康状况和行为的重要见解,其中包括:示例Application Insights查询和Power BI仪表板,以全面了解您的机器人与用户的对话

Azure Bot服务

Azure Bot服务使您能够托管完全拥有和控制您的数据的企业级智能机器人。开发者可以在Skype、微软团队、Cortana、网络聊天等平台上注册机器人并将其连接到用户。[Docs]

  • 直通JS客户端:如果您希望在Azure Bot服务中使用Direct Line频道,并且没有使用Webchat客户端,则可以在您的自定义应用程序中使用Direct Line JS客户端。[Readme]

  • 直接线路语音信道:我们正在将Bot框架和Microsoft的语音服务结合在一起,以提供一个通道,支持从客户端到BOT应用程序的双向流式语音和文本。若要注册,请向您的Azure Bot服务添加“Direct Line Speech”频道
  • 为您的Bot-Direct Line App服务扩展提供更好的隔离:Direct Line App Service Extension可以作为VNET的一部分进行部署,使IT管理员能够更好地控制会话流量,并由于减少了跳数而改善了会话延迟。单击此处开始使用Direct Line App Service Extension。VNET允许您在Azure中创建自己的私有空间,并且对您的云网络至关重要,因为它提供隔离、分段和其他主要优势

BOT框架仿真器

这个Bot Framework Emulator是一个跨平台的桌面应用程序,允许bot开发人员测试和调试使用Bot Framework SDK构建的bot。可以使用Bot Framework Emulator测试在计算机上本地运行的Bot或连接到远程运行的Bot。[Download latest|Docs]

BOT框架网络聊天

机器人框架Web Chat是Azure Bot服务的一个高度可自定义的基于Web的客户端聊天控件,它为用户提供了在网页中直接与你的机器人交互的功能。[Stable release|Docs|Samples]

BOT框架CLI

Bot Framework CLI工具托管open source跨平台Bot Framework CLI工具,旨在支持构建强大的端到端开发工作流。Bot Framework CLI工具取代了legacy standalone tools用于管理僵尸程序和相关服务。BF CLI将跨平台工具集合聚合到一个紧密一致的界面中

相关服务

语言理解

一种基于机器学习的服务,用于构建自然语言体验。快速创建可持续改进的企业就绪型定制模型。语言理解服务(Language Underming Service,Luis)允许您的应用程序用他们自己的话来理解他们想要的东西。[Docs|Add language understanding to your bot]

QNA制造商

QnA Maker是一种基于云的API服务,可在您的数据上创建会话问答层。使用QNA Maker,您可以在几分钟内根据FAQ URL、结构化文档、产品手册或编辑内容构建、培训和发布一个简单的问答机器人。[Docs|Add qnamaker to your bot]

派单

调度工具允许您构建语言模型,允许您在不同的组件(如QNA、Luis和自定义代码)之间进行调度。[Readme]

语音服务

语音服务将音频转换为文本,通过统一的语音服务进行语音翻译和文本到语音的转换。有了语音服务,你可以将语音集成到你的机器人中,创建自定义唤醒词,并用多种语言创作。[Docs]

适配卡

Adaptive Cards是一个开放标准,供开发人员以通用且一致的方式交换卡内容,并被Bot Framework开发人员用来创建出色的跨通道转换体验

  • 开放式框架,原生性能-简单的开放式卡格式支持共享工具的生态系统、应用程序之间的无缝集成以及任何设备上的本机跨平台性能
  • 从第一天起启用语音-我们生活在一个令人兴奋的时代,在这个时代,用户可以与他们的设备交谈。适配卡拥抱了这一新世界,并从头开始设计以支持这些新体验

贡献

请参阅我们的contributing guidelines

报告安全问题

安全问题和错误应通过电子邮件私下报告给Microsoft安全响应中心(MSRC),地址为secure@microsoft.com您应该会在24小时内收到回复。如果您由于某些原因没有收到您的邮件,请通过电子邮件跟进,以确保我们收到您的原始邮件。更多信息,包括MSRC PGP密钥,可以在Security TechCenter

版权所有(C)Microsoft Corporation。版权所有

Readthedocs.org-支持readthedocs.org的源代码

目的

Read the Docs托管开放源码社区的文档。它支持Sphinx使用编写的文档reStructuredText,并且可以从您的SubversionBazaarGit,以及Mercurial存储库。然后,我们将为您构建文档并托管它。把它想象成连续文档

RTD文档

您可以在以下位置找到设置项目的完整文档the Read
the Docs site

保持联系

您可以在我们的Contribution page

贡献

您可以在我们的Contribution page

GitHub托管项目的快速入门

在此快速入门结束时,您将在推送到GitHub时自动更新一个新项目

  1. 在上创建帐户Read the Docs您将收到一封电子邮件,确认您的电子邮件地址,您应在7天内接受该电子邮件地址
  2. 登录并单击“导入项目”
  3. 单击“连接到GitHub”,将您帐户的资料档案库连接到GitHub
  4. 在GitHub上出现提示时,授予您的帐户访问权限
  5. 单击“导入存储库”,然后选择任何所需的存储库
  6. 如果需要,更改任何信息,然后单击“下一步”
  7. 全都做完了。提交后,您的项目将自动更新

许可证

MIT©2010-2021阅读Docs,Inc.贡献者(&C)

Boto3 适用于Python的AWS SDK

Boto3-适用于Python的AWS SDK


Boto3是适用于Python的Amazon Web Services(AWS)软件开发工具包(SDK),允许Python开发人员编写利用Amazon S3和Amazon EC2等服务的软件。您可以在我们的doc site,包括支持的服务列表

2021年1月15日宣布了对Python2.7的弃用,2021年7月15日将放弃对Python2.7的支持。为了避免中断,在Python2.7上使用Boto3的客户可能需要升级他们的Python版本或固定Boto3的版本。有关更多信息,请参阅此blog post

快速入门

假设您有Python和virtualenv安装,设置您的环境并安装所需的依赖项,如下所示,或者您可以使用以下命令安装库pip

$ git clone https://github.com/boto/boto3.git
$ cd boto3
$ virtualenv venv
...
$ . venv/bin/activate
$ python -m pip install -r requirements.txt
$ python -m pip install -e .
$ python -m pip install boto3

使用Boto3

安装boto3之后

接下来,设置凭据(例如~/.aws/credentials):

[default]
aws_access_key_id = YOUR_KEY
aws_secret_access_key = YOUR_SECRET

然后,设置默认区域(例如,~/.aws/config):

[default]
region=us-east-1

可以找到其他凭证配置方法here

然后,从Python解释器执行以下操作:

>>> import boto3
>>> s3 = boto3.resource('s3')
>>> for bucket in s3.buckets.all():
        print(bucket.name)

运行测试

您可以使用在所有支持的Python版本中运行测试tox默认情况下,它将运行所有单元测试和功能测试,但您也可以指定自己的测试nosetests选项。请注意,这要求您安装了所有受支持的Python版本,否则您必须通过-e或运行nosetests命令直接执行:

$ tox
$ tox -- unit/test_session.py
$ tox -e py26,py33 -- integration/

您还可以使用默认的Python版本运行单独的测试:

$ nosetests tests/unit

获取帮助

我们使用GitHub问题来跟踪错误和功能请求,但解决这些问题的带宽有限。请使用以下社区资源获取帮助:

贡献

我们重视来自社区的反馈和贡献。无论是错误报告、新功能、更正还是其他文档,我们都欢迎您的问题和请求。请把这个通读一遍CONTRIBUTING在提交任何问题或拉回请求之前提交文档,以确保我们拥有有效回应您的贡献的所有必要信息

SDK主要版本的维护和支持

Boto3于2015年6月22日正式发布,目前处于可用性生命周期的全面支持阶段

有关SDK主要版本及其底层依赖项的维护和支持信息,请参阅《AWS SDK和工具共享配置和凭证参考指南》中的以下内容:

更多资源

Python-for-android 将Python应用程序转换为Android APK

Python-for-Android

Python-for-Android是在Android上打包Python应用程序的工具。您可以创建自己的Python发行版,包括所需的模块和依赖项,并将其与您自己的代码捆绑在APK中

功能包括:

  • 不同的应用程序后端,包括Kivy、PySDL2和带有Python Web服务器的WebView
  • 自动支持大多数纯Python模块,并内置了对许多其他模块的支持,包括流行的依赖项,如Numpy和sqlalChemy
  • 多个架构目标,适用于在任何给定设备上优化的APK

有关文档和支持,请参阅:

文档

请遵循quickstart
instructions
安装并开始创建APK的步骤

快速说明:安装Python-for-Android,安装方式为:

pip install python-for-android

(对于开发分支:pip install git+https://github.com/kivy/python-for-android.git)

与安装配合使用的测试:

p4a --version

要构建任何实际的应用程序,设置Android SDK和NDKquickstart使用快速入门中的SDK/NDK API级别和NDK版本,其他API级别可能不起作用

全部安装完毕后,使用SDL2构建APK,例如:

p4a apk --requirements=kivy --private /home/username/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2

对于完整的指令和参数选项,看见the
documentation

支持

如果您需要帮助,可以在我们的邮件列表上寻求帮助:

我们还有#support Discord channel

贡献

我们喜欢提出请求和讨论新奇的想法。查看Kivy项目contribution guide并且可以随意改进python-for-android(适用于android的python)

看见our
documentation
有关Python-for-Android开发和发布模型的更多信息,请不要担心细节。您只需要提个拉流请求,我们会处理睡觉的

以下邮件列表和IRC频道专门用于讨论开发Kivy框架及其姊妹项目:

我们还有#dev Discord channel

许可证

Python-for-Android是根据麻省理工学院的许可条款发布的。请参考许可证文件

历史

2015年,这些工具进行了重写,以提供一个新的、更易于使用和扩展的界面。如果您想浏览旧的工具链,其状态记录在https://github.com/kivy/python-for-android/tree/old_toolchain

2018年最后一个季度,python的食谱发生了变化。python3的新配方(3.7.1)有一个新的构建系统,它应用于古老的python配方,允许我们将python2的版本号提升到2.7.15。这一更改统一了两个Python食谱的构建过程,并可能解决了多年来检测到的各种问题。这些统一的Python食谱需要一个最低目标API水平为21Android 5.0-棒棒糖如果您需要构建的API级别低于21,则应该使用旧版本的python-for-Android(<=0.7.1)

在2020年3月,我们不再支持创建使用Python2的应用程序。支持构建Python2的最新Python-for-Android版本是2019.10.6版

贡献者

这个项目的存在要归功于所有做出贡献的人。[Contribute]

支持者

感谢我们所有的支持者!🙏[Become a backer]

赞助商

通过成为赞助商来支持这个项目。您的徽标将在此处显示,并带有指向您的网站的链接。[Become a sponsor]










Prefect 实现数据自动化的最简单方法

你好,世界!👋

我们为数据科学时代重建了数据工程

Prefect是一个新的工作流管理系统,专为现代基础设施而设计,由开源的Prefect Core工作流引擎提供支持。用户组织Tasks变成Flows,县管睡觉

请阅读docs;获取code;询问我们anything好了!

欢迎使用工作流

Prefect的Pythonic API应该会让新手感到熟悉。将函数标记为任务并相互调用以建立流

from prefect import task, Flow, Parameter


@task(log_stdout=True)
def say_hello(name):
    print("Hello, {}!".format(name))


with Flow("My First Flow") as flow:
    name = Parameter('name')
    say_hello(name)


flow.run(name='world') # "Hello, world!"
flow.run(name='Marvin') # "Hello, Marvin!"

有关更多详细信息,请参阅Core docs

UI和服务器

除了Prefect Cloud平台上,Prefect包括一个用于编排和管理流程的开源后端,主要包括Prefect ServerPrefect UI此本地服务器将流元数据存储在Postgres数据库中并公开GraphQL API

在第一次运行服务器之前,请运行prefect backend server若要为本地业务流程配置Prefect,请执行以下操作。请注意,服务器需要DockerDocker Compose去跑步

要启动服务器、UI和所有必需的基础架构,请运行:

prefect server start

一旦所有组件都在运行,您就可以通过访问http://localhost:8080

请注意,从服务器执行流需要至少运行一个Prefect代理:prefect agent local start

最后,要向服务器注册任何流,请调用flow.register()有关更多详细信息,请参阅orchestration docs

“.完全正确?”

来自拉丁语普雷菲克特斯,意思是“谁是负责人”,省长是监督一个领域并确保规则得到遵守的官员。同样,Prefect负责确保工作流正确执行

它也恰好是那本非常了不起的书的一位巡回研究员的名字,银河系漫游指南

集成

得益于Prefect不断扩大的任务库和深度的生态系统集成,构建数据应用程序比以往任何时候都更加容易

有什么东西不见了吗?打开一个feature requestcontribute a PR好了!Prefect旨在使添加新功能变得极其容易,无论您是在开放源码包之上构建,还是为您的团队维护内部任务库

任务库

Airtable

Asana

AWS

Azure

Azure ML

Databricks

DBT

Docker

Dremio

Dropbox

Email

Fivetran

GitHub

Google Cloud

Google Sheets

Great Expectations

Jira

Jupyter

Kubernetes

Monday

MySQL

PostgreSQL

Python

Pushbullet

Redis

RSS

SendGrid

Shell

Slack

Snowflake

SpaCy

SQLite

SQL Server

Trello

Twitter

部署和执行

Azure

AWS

Dask

Docker

Google Cloud

Kubernetes

Universal Deploy

资源

Prefect提供了各种资源来帮助您获得成功的结果

我们致力于确保一个积极的环境,所有的互动都由我们的Code of Conduct

文档

Prefect的文档–包括概念、教程和完整的API参考–总是可以在docs.prefect.io

有关编写文档的说明,请参阅development guide

松散社区

加入我们的Slack聊聊Prefect,提问,分享小贴士

博客

访问Prefect Blog有关Prefect团队的最新信息和见解

支持

Prefect提供各种社区和高级服务support options适用于Prefect Core和Prefect Cloud的用户

贡献

阅读有关Prefect的community或者一头扎进development guides有关贡献、文档、代码样式和测试的信息

安装

要求

Prefect需要Python 3.6+。如果您是Python新手,我们建议您安装Anaconda distribution

最新版本

要安装Prefect,请运行:

pip install prefect

或者,如果您更喜欢使用conda

conda install -c conda-forge prefect

pipenv

pipenv install --pre prefect

出血边缘

为了进行开发或只是尝试最新的功能,您可能希望直接从源代码安装Prefect

请注意,Prefect的主分支不保证与Prefect Cloud或本地服务器兼容

git clone https://github.com/PrefectHQ/prefect.git
pip install ./prefect

许可证

Prefect Core根据Apache Software License Version 2.0请注意,Prefect Core包括用于运行Prefect Server以及Prefect UI,它们本身是根据Prefect Community License