LFD,非官方的Windows二进制文件的Python扩展包
LFD,非官方版本、32和64位、Windows、二进制文件、科学开源、Python扩展包
克里斯托夫·戈尔克(by Christoph Gohlke),LFD(荧光动力学实验室),加利福尼亚大学,Irvine,
网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
------------------------------
A
APSW,另一个Python Sqlite封装。
Aspell-python,Aspell软件的Python绑定
Assimulo,求解常微分方程的软件包,需要numpy + MKL。
Astropy,python天文学软件的核心包。
Atom,原子,高效的内存的Python对象,这个包与谷歌的GData有冲突。
Autopy,GUI自动化工具。
B
Babel,巴贝尔,Python程序的国际化工具。
Backports.lzma,通过Python 3.3测试的LZMA算法模块。
Basemap, 底图绘制,基于地质图的二维数据Matplotlib工具包。
Bazaar,集市,版本控制系统。
Bcolz,数据压缩容器。
BigFloat,任意精度的浮点运算,通过MPFR,取代gmpy2。
Bio_formats, JCC 生物软件包,需要Bio-Formats 和 SCIFIO Java库
Bioformats,读写生命科学文件格式:Bio-Formats,需要javabridge。
Biopython,生物计算工具。
BitArray,有效表示布尔值数组的对象类型。
Blaze,白斑是新一代的NumPy计算软件包。
Blender-mathutils,科学计算工具,提供矩阵,欧拉,四元数和向量功能。
Blist,泡,更好的列表list类型,支持大型list。
Blosc,二进制数据的高性能、优化库。
Blz,压缩数据容器(内存和磁盘)。
Bokeh,HTML5 canvas图形语法处理,需要很多依赖包。
Boost.Python,提供C++和Python之间无缝的互操作性。
Bottleneck,瓶颈,提供了快速的NumPy数组函数写在Cython。
Bsdiff4,bsdiff4格式工具。
BTrees,B树,数据结构,可扩展的持久对象的容器。
C
CArray,数据容器,可以压缩内存。
Cartopy,制图工具库。
Casuarius,鹤鸵,Cassowary约束求解工具。
Cdecimal,任意精度的十进制浮点运算。
Cellcognition,荧光的时间推移显微镜图像分析框架。
CellProfiler,生物图像定量分析软件。
ceoDBC,ODBC数据库API。
Certifi,认证,Mozilla的C工具。
Cffi,外部数调用的C代码接口,需要pycparser。
CGAL-bindings,计算几何算法库绑定。
Cgkit,计算机图形工具包,可处理三维数据。
Cheetah,猎豹,模板引擎和代码生成工具。
Conda,跨平台的,Python无关的二进制软件包管理器。需要pyyaml,pycosat,requests。
Console,控制台,一个简单的控制台界面。
Coverage,覆盖率,测试执行过程中,程序代码的覆盖率。
CRC16,计算CRC16(循环冗余校验)。
Crcmod,计算循环冗余校验(CRC)。
Curses,基于PDCurses模块库的延伸。不支持Unicode字符
Cvxopt(实验非MKL ICL建设),一个凸优化包,包括GSL,FFTW,和GLPK MPIR模块,需要numpy +
MKL。
Cvxpy,一个凸优化问题的建模语言,需要numpy + MKL,SciPy,cvxopt,SC,和ecos。
cx_freeze,把Python脚本封装为可执行程序(如exe)的工具包。
Cyassimp,开放式assimp导入函数库。
Cython,用于编写Python的C扩展语言。
cytoolz,高性能的函数工具包。
D
Debug-information-files,安装Windows调试信息文件(*。PDB)。
Delny,生成n维Delaunay三角网格,使用libqhull。
Dipy,MR扩散成像分析工具箱。
Django,最流行的Web框架。
Docutils,python文档工具
Dulwich,Git函数库
DyND,,绑定到libdynd C++动态ndarray模块库。
E
ECos,求解嵌入式二次曲线。
Enaml,用最少的资源,创建用户界面的编程语言和框架。
Entropy,熵,熵的快速计算。
Epydoc,用于生成模块API的文档工具。
ETS(enthought工具套件),科学计算的应用组件的集合。
F
Fann2, fann2绑定快速人工神经网络的模块库。
Fastcluster,提供快速层次聚类例程。
Faulthandler,回溯追踪、显示Python运行错误。
Ffnet,前馈神经网络。
Fiona,菲奥娜,OGR的API,需要GDAL。
Fipy,有限体积偏微分方程求解,需要pysparse。
Fisx,增强C + +端口所使用的pymca物理例程。
Fonttools,字体工具库(Python 3源码)。
Freeimagedll,安装FreeImage DLL系统。
Friture,实时音频输入分析。
G
GDAL(Geospatial Data Abstraction
Library),栅格地理空间数据格式转换库。包括一个完整的GDAL的安装。不要同时使用osgeo4w或gdalwin32。
Genshi,用于生成产生输出web网页。
Gensim,快速的向量空间模型框架。
Gevent,基于网络工具库,基于greenlet、libevent。
Glumpy,Numpy和现代OpenGL之间的天然的接口。
GMPY,支持快速多精度算术,封装了MPIR,MPFR,和MPC的模块库。
GR,跨平台可视化应用的通用框架。
Greenlet,轻量级并行编程。
GuiQwt,一个高效的2D绘图库,需要pyqwt。
H
H5py,通用的HDF5接口库。
HDDM,实现漂移-扩散模型的分层贝叶斯分析。
Holopy,数字全息图和光散射的工具。
HTSeq,处理从高通量测序检测数据。
I
Ilastik,互动学习和分割工具。
Imread,读取图像到NumPy数组。
Intbitset,intbitset数据对象。
IOCBio,系统生物学实验室的开源软件,需要numpy + MKL。
Iris,虹膜,用于分析和可视化气象和海洋数据集
J
Javabridge,为Java本地接口封装
JCC,C + +代码生成器,生成一个C + +对象接口,封装一个Java库,通过Java本地接口(JNI)。
Jinja2,文本模板引擎,需要markupsafe。
JPype,允许完全访问Java类库
Jsonlib,JSON解释器
K
Kivy,基维,开发多点触摸应用程序模块库,需要pygame
Kiwisolver,约束求解算法的高效实现。
Kwant,简单的量子传输模拟,需要numpy + MKL和tinyarray。
L
La,标记NumPy数组。
Lazyflow,基于数据流图的NumPy
LibLAS,读取和写入 LiDAR(光探测和测距)格式数据。
LIBLINEAR,线性分类模块库,需要numpy + MKL
Libpython,安装libpython系统模块库,使用mingw64和rtools。
libSBML,读,写,操纵,传送,并验证SBML(系统生物学标记语言)文件和数据流。
LIBSVM,SVM向量机模块库。
Libtfr,计算多锥度窗口和时频重排谱图,需要numpy + MKL。
Libxml-python,是libxml2和libxslt库的绑定
Line_profiler,代码检测
Llist,提供链表的数据结构
Llvmlite,写一个轻量级的LLVM编译器绑定。
LLVMPy,LLVM编译器封装
Lmfit,带约束条件的最小二乘最小化。
lp_solve,混合整数线性规划(MILP)求解
Lsqfit非线性最小二乘拟合
Lxml,绑定的libxml2和libxslt模块库
M
Mahotas,图像处理。
Mako,灰鲭鲨,快速的模板语言
Marisa-trie,提供静态、高效的内存trie树结构。
MarkupSafe,标记XML或HTML/XHTML安全字符串。
Matplotlib,著名的2D绘图库,类似matlab
Mercurial,快速的可扩展的SCM版本控制系统
MeshPy,生成高质量的三角形和四面体网格
Milk,牛奶,机器学习工具
Minepy,最大非参数分析
Mistune,失谐,纯Python版本的Markdown解析器。
Mlpy,机器学习模块
mmLib,Python的大分子模块库
MMTK(分子模拟工具包),分子模拟应用程序库
Mod_wsgi,Apache服务器WSGI工具模块库
Mpi4py,绑定消息传递接口(MPI)标准,要求微软MPI V5。
Msgpack,高效的二进制序列化格式
mxBase,包含mxdatetime,mxTextTools,mxtools,等模块库
Mysqlclient,Python 3兼容的叉MySQL的Python模块库。
Mysqlclient,MySQL数据库的Python接口。
N
Natgrid,网格,不规则数据的natgrid C库的接口
NetCDF4,读取和写入NetCDF和HDF5文件
NetworkX,一个复杂的网络包。
NiBabel,访问神经影像文件格式
Nipype,神经影像学检查模块库接口
NiTime,神经科学实验数据的时间序列分析模块库
NLopt,非线性优化模块库
NLTK,自然语言工具包。
nMOLDYN,分子动力学模拟的交互式分析程序。
Noise,噪声,产生的Perlin(柏林)/ Simplex噪声
Nose,鼻子,简化测试单元
Numba,NumPy的动态编译库,需要numpy + MKL和llvmlite
Numexpr,快速数值数组表达式计算器,需要numpy + MK
NumPy(NumPy + MKL),科学计算所需要的基本包, NumPy + MKL是静态链接到英特尔数学核心函数库。
O
ODE,开放动力学引擎,用于模拟刚体动力学的高性能模块库。
OpenBabel,开放源码的化学工具箱
OpenCV,计算机视觉库
OpenGLContext,pyopengl测试和学习环境
OpenImageIO,用于读写动画和视觉效果图像库,包括OpenColorIO。
OpenPIV,粒子图像测速技术(PIV)包
Orange,橙色,机器学习与交互式数据挖掘工具箱
Oursql,MySQL数据库绑定
P
Pandas,时间序列数据分析工具包
Patsy,帕西,统计模型和建筑设计矩阵包
Persistent,持久的,透明的持久对象
Pgmagick,graphicsmagick图像库的另一封装
Pillow,Python图像库PIL的替代工具,提供图像处理功能,支持多种文件格式。
Pims,Python的序列图像,视频工具
Pip,Python包安装推荐工具
Planar,平面,二维平面几何库
Pmw,使用Tkinter模块构建高层次复合控件的工具箱
Polygon,二维多边形处理模块库,非商业用途免费。
Polymode,微结构光纤的模态分析。
Psutil,提供有关正在运行的进程和系统利用率的信息
PsychoPy,心理学和神经科学的软件
Psycopg,PostgreSQL数据库接口。
PuLP,采用coinmp模块库的LP模型,需要pyparsing。
Py-fcm,用于流式细胞库
Py-lmdb,LMDB雷电数据库工具
py2exe,Python脚本转换成可执行的exe程序
PyAlembic,Alembi计算机图形交换框架,包括OpenEXR pyilmbase
PyAMF,提供动态消息格式(AMF)的支持
PyAMG,多重网格(AMG)求解模块库
PyAudio,PortAudio模块库,支持ASIO,DS,wmme,WASAPI,wdmks
PyBluez,蓝牙工具。
PyBox2D,二维Box2D物理运动模块库
Pycairo,开罗图形库,不兼容PyGTK和wxPython
Pycares,c-ares接口
PyCifRW,CIF文件支持模块
PyCluster,基因数据聚类分析
PyCogent,基因组生物学软件库
Pycosat,PicoSAT卫星的SAT求解工具。
Pycparser,一个完整的C语言解析器
PyCUDA,NVIDIA的GPU并行计算API,需要pytools,CUDA6.5,NVIDIA驱动程序,msvc编译器
PycURL,libcurl接口库
PyDbg,Win32调试界面,包括pydasm反编译模块库
PyDDE,时滞微分方程系统的数值解算器(DDES)。
PyEDA,电子设计自动化的模块库
PyEMD,地球移动距离计算。
PyEphem,星历,科学级的天文计算
Pyexiv2,exiv2图像元数据模块库。
PyFITS,FITS格式的文件接口。
pyFLTK,快速、轻量级、跨平台、图形用户界面库。
PyFMI,加载和交互功能实体单元(FMUs),需要numpy + MKL,assimulo,lxml和SciPy。
pygame,基于SDL的游戏模块库
pygit2,libgit2共享库
pyglet,跨平台的窗口和多媒体库,使用AVbin。
pygments,通用的语法高亮模块库
PyGraphviz,图像布局和可视化软件包,需要graphviz-2.38
PyGTK,GTK+库封装。
PyHDF,NCSA HDF4接口库
PyHook,用于Windows全局输入钩子函数的封装
PyICU, ICU(Unicode国际成分)模块库。
PyISAPIe,IIS的ISAPI扩展
PyLibDeconv,deconv封装库,需要numpy + MKL。
PyLibTiff,读写TIFF和LSM文件包
PyLZMA,LZMA压缩库接口
PyMC,蒙特卡罗,马尔可夫链工具,需要numpy + MKL。
PyMca,X射线荧光数据分析工具包
PyMedia,媒体文件操作模块。
PyMetis,METIS图工具包
PyMinui,Minuit接口,n维函数。
PyMix,算法和数据结构在数据挖掘中的应用
PyMOL,分子渲染和动画,3D分子结构可视化产品。
Pymongo,Mongo数据库的驱动程序
Pymssql MS SQL的Python扩展模块
Pymunk,建立在顶部的2D物理模块库
pymutt,多锥傅立叶谱估计,需要numpy + MKL
PyMVPA,多元模式分析
PyODBC,开放数据库连接(ODBC)接口。
PyOpenCL,通向OpenCL并行计算接口API,需要pytools
PyOpenGL,3D图像函数库OpenGL接口
pypmc,自适应抽样工具包
pyproj,PROJ接口
PyQt4,Qt4应用框架
PyQwt,NumPy数据绘图
Pyropes,可扩展性和高效率的字符串
pyRXP,快速,XML验证解析器
Pyserial,串行端口的访问模块
PySFML,简单、快速的SFML多媒体库接口
PySide,QT跨平台应用程序和用户界面框架
PySparse,快速稀疏矩阵库。
pyspharm,球面调和变换模块
pysqlite,SQLite数据库接口。
PyStemmer,单词计算、分析
PyTables,层次数据管理工具,基于HDF5库,需要numexpr。
tables 3.1.1 cp33 none win32.whl, tables 3.1.1 cp33 none
win_amd64.whl, tables 3.1.1 cp34 none win32.whl, tables 3.1.1 cp34
none win_amd64.whl,
Python-cjson,快速JSON编码器/解码器
Python-Dateutil,扩展标准datetime模块。
Python-igraph,高性能图形库接口
Python-ldap,面向对象的API,通过OpenLDAP访问LDAP目录服务器。
Python-Levenshtein,计算字符串相似之处。
python-lz4,为lz4压缩模块库
Python-LZO,对LZO数据压缩库
Python-snappy,压缩模块库。
Python-sundials,日晷,一个日晷求解器套件,Cython封装。
PythonMagick,面向对象的ImageMagick接口库
PythonNET,集成的.NET通用语言运行库(CLR)和应用程序的脚本工具。
pytools,工具集
PyTST,三元搜索树模块
pytz,世界时区的定义
PyViennaCL,用于GPGPU和异构系统的viennacl线性代数和数值计算库。
PyVISA,绑定到“虚拟仪器软件架构“VISA库
PyVRML97,VRML场景建模
PyWavelets,离散小波包变换,基于Ralf Gommers分支。
PyWCS,世界坐标系统库封装
PyX,PostScript和PDF文件生成模块库
PyXML,XML处理
PyYAML,YAML解析器
PyZMQ,绑定到ZeroMQ消息库,基于OpenPGM
Q
Qimage2ndarray,快速转换,qimages和NumPy之间
QuantLib,定量金融学模块库
QuickFIX,金融信息交换(FIX)协议引擎
QuTiP,模拟开放量子系统的动力学,需要numpy + MKL
R
RasterIO,提供清洁、快速和地理空间栅格的I/O ,需要GDAL。
RE2,正则表达式库封装。
Regex,正则表达式模块
ReportLab,PDF生成工具
Requests,人性化的HTTP模块库。
rpy2,用于统计计算和图形显示的R语言接口。需要R 3.1
Rtree,R树,空间索引,基于libspatialindex
S
ScientificPython,科学计算模块的集合
Scikit-fmm,快速行进法, scikit_fmm 0.0.6 CP26没有Win32。WHL , scikit_fmm
0.0.6 CP26不win_amd64。WHL
scikit_image,SciPy图像处理例程
Scikit-learn,经典机器学习算法,需要numpy + MKL
scikits.ann,近似最近邻网络模块库的封装。
scikits.audiolab,音频文件IO库,使用numpy数组封装
scikits.delaunay,三角插值工具
scikits.hydroclimpy,操纵水文气候数据,需要numpy + MKL
scikits.odes,常微分方程(ODE)求解器SciPy,需要numpy + MKL
scikits.samplerate,高质量的音频重采样模块。
scikits.scattpy执行光散射模拟,需要numpy + MKL。
scikits.timeseries,各种频率的时间序列类和函数,包括处理,报告,绘图。
scikits.umfpack,UMFPACK不对称稀疏线性系统的求解。
scikits.vectorplot,线积分卷积算法绘制矢量域
SciPy,数学,科学,工程软件库,需要numpy + MKL和可选的太平。
Scipy-cluster,集群,聚类分析功能
SciTools,是科学计算的工具包。
SCons,软件工程工具
SCS(非MKL建立),求解大规模问题的C++封装的凸锥
SendKeys,模拟键盘,用来向活动窗口发送键击。
Setproctitle,定制过程标题
Setuptools,下载,安装,升级,构建,和卸载Python包
Shapely,几何对象模块库,创建,操作、分析平面对象
SilverCity,词法分析程序包,基于Scintilla
SimpleITK,图像分割与配准工具包
simplejson,简单,快速,可扩展的JSON编码器/解码器
Six,Python 2和3兼容的模块库
Sparsesvd,SVDLIBC封装,用于计算奇异值分解的模块库
Spyder,科学计算的Python开发环境
SQLAlchemy,SQL工具包和对象关系映射
Statsmodels,统计模型类和函数库,需要pandas、patsy
STEPS,步骤,随机路径模拟引擎。
sympy,符号数学库
T
TA-Lib,TA-LIB技术分析库封装。
Thrift,可扩展的、跨语言、软件开发框架
tinyarray,优化数组模块。
Tornado,龙卷风,可扩展的,非阻塞Web服务器
trackpy,粒子跟踪工具
trfit,时间分辨荧光衰减软件包
Triangle,Triangle的封装,二维网格生成模块库
TWAINmodule,扫描仪TWAIN接口模块
Twisted,扭曲,事件驱动网络引擎
U
UDUNITS,支持物理量的单位软件包
ujson,超快速的JSON编码器和解码器
umysql,超快速的MySQL驱动程序。
V
Veusz,GUI科学绘图和图形包,需要PyQt4
VideoCapture,视频采集,视频设备软件包
VIGRA,维格拉(泛型视觉算法),计算机视觉库。需要numpy + MKL
virtualenv,Python虚拟环境建造
vispy,交互式、可视化OpenGL
Visvis,面向对象的、1D-4D数据可视化模块库
ViTables,GUI软件包,浏览PyTables和HDF5格式编辑的文件
vLFD,LFD(荧光动力学实验室)开发的软件包,需要numpy +
MKL,SciPy,Matplotlib,和h5py。
VPython,3D编程,需要ttfquery,fonttools,和Polygon, ttfquery
VTK(Visualization Toolkit),三维计算机图形,图像处理、和可视化软件系统,。
W
WFastCGI,提供的IIS的FastCGI支持Python WSGI协议之间的网关
wxPython,绑定到wxWidgets的跨平台工具包
Y
Yappi,另一个Python分析器,支持多线程、CPU时间优化
YT,多分辨率的数据可视化分析模块库。
Z
zfec,实现“纠删码”,或“前向纠错码”。
ZODB,Zope对象数据库,面向对象的数据库
zodbpickle,统一的ZODB接口界面
Zope.interface,Zope软件的Python对象接口
ZS,数据压缩,只读文件格式
-------------------------------
其他的Python扩展包
A
AIDA,自适应的图像反卷积算法,
ALGLIB,跨平台的数值分析和数据处理库。
B
BALLView,分子建模和可视化应用
Biogeme,行离散选择模型的估计。
BioImageXD,多维生物医学图像可视化分析软件。
BisQue(生物图像的语义查询用户环境),存储,可视化,组织和分析的云图像。
C
CasADi,实现向前和伴随模式自动分化
CGAL-Python, Python的CGAL,CGAL计算几何算法库模块库
coloc_utils,计算定位系数,从共聚焦图像,密码暴露的密码原语和食谱。
D
DeVIDE,为医学可视化,和图像处理技术的,快速成形数据流应用程序生成器。
dpmix,大规模、混合模型拟合模块库。
E
EMAN2,灰度图像处理套件,用于透射电子显微镜。支持多种图像格式。
F
FARSIGHT,基于Bio-Formats生物格式,显微图像分析的工具包
G
Gexiv2,GObject图像元数据封装。
GHMM,隐马尔可夫模型库
Graph-tool,图形工具,用于操纵和图表统计分析模块库。
I
ITK(Insight分割和配准工具包),用于图像分析软件系统,
M
M2Crypto,OpenSSL完整的封装包。
Mantid,螳螂,高性能计算、科学数据可视化框架
MathGL, 科学数据可视化库。
MDP,数据处理模块和工具包,质谱的工具,
MMCorePy,控制显微镜硬件。
Msim,多细胞生物的超分辨荧光显微镜
N
ncrypt,OpenSSL封装包。
NIPY,结构和功能神经影像学数据分析,需要numpy + MKL
Nodebox-GL,用于产生二维动画库。
Numeric,NumPy的替代工具
O
OpenEXR,ILM的OpenEXR格式的图像文件绑定。
OpenKinect,访问Xbox的Kinect装置,需要libusb 1.2.6。
OpenMDAO,多学科分析和优化设计(麦道)框架。
OpenSlide,读取幻灯片图像,支持超过内存大小的、高分辨率图像
P
Panda3D,3D渲染和游戏开发框架。
ParticleStats,细胞内颗粒运动和细胞骨架的极性分析。
Peak_detection实现Segré等人所描述的高斯峰值检测。
PolyVox,用于存储和处理空间环境中的模块库
priithon,图像分析和算法开发平台,支持读取HIS,SDT,SIF,和SPE文件
Py-bcrypt,OpenBSD的Blowfish密码哈希代码。
PyAudiere,高级音频接口使用Audiere音色库
pyCGNS,提供CGNS/SIDS数据模型的接口。
PyCorrFit,通用的FCS数据分析工具
PyCrypto,提供加密模块。
PyDSTool,动力系统建模,环境模拟与分析。
pyffmpeg,ffmpeg封装,解决记录,转换和流音频和视频
PyFFTW3,绑定FFTW C语言库。
PyGreSQL,PostgreSQL数据库接口
pygrib,用于读取GRIB气象文件模块。
PyGSL,GNU科学模块库接口(GSL)
pyGst,GStreamer多媒体框架接口。
pykit,高层次的代码后端编译器。
PyMe,Python显微镜环境,提供了图像采集和数据分析功能。
pymex,在MATLAB嵌入Python,
pyNFFT,NFFT模块库封装。
PyNIfTI,提供访问和分析NifTI文件
Pyo,数字信号处理模块,
PyODE,开放的动力学引擎绑定。
pyOpenSSL,OpenSSL接口库
PyQt5,QT5应用框架。
PyReadline,基于Windows的Readline。
pysam,读取和操作:SAM核苷酸序列比对文件模块
pysifreader,读取和Andor SIF(应力强度因子)的多通道图像文件。
PySUNDIALS,SUNDIALS日晷套件接口
PySVN,Subversion版本控制系统接口。
Python-Ogre,Ogre 3D图形库接口
pythonisosurfaces,Marching Cubes等值面实施模块库。
PythonOCC,3D CAD/CAE/PLM开发框架
R
RootPy,提供Root根数据分析框架上的pyroot接口。
S
Scikit-bio,生物信息学的教育资源,数据结构,算法。
Scikit-tracker,目标检测和细胞生物学的鲁棒跟踪
Sherpa,夏尔巴人,建模和拟合中的应用。
SimpleCV,计算机视觉应用的框架
SMC.FreeImagesmc.freeimage,对FreeImage库封装。
SpacePy,空间科学共同体spacepy工具
Stdic,计算图像间的变形函数(图像配准)。
STScI_python,通用的天文数据分析基础
V
VIPS,贵宾,没有图像大小限制的图像处理库。
VisionEgg,视觉研究实验模块库
字王4K云字库入驻github,成为全球首个入驻Git的中文云字库项目
:: 字王Git项目总览:https://github.com/ziwang-com/,
:: QQ群:124134140 (字王云字库&zwPython,字王项目,唯一互动平台)
:: 技术Blog:http://blog.sina.com.cn/zbrow
:: 网盘下载:http://pan.baidu.com/s/1tY7Wq
:: 字王网站:http://www.ziwang.com
github,全球最大的极客创意平台,欢迎大家参与
------------------------------