Saravanan666/pypi-org huggingface dataset:
Package: openzeppelin-solidity-grammar-parser
Solidity Grammar ParserSGP- is aPythonpackage that allows to build anASTfor a givenSoliditysource code.KudosThe original grammarSolidity.g4was developed and maintained bysolidity-parser-antlr.The node types system and AST visitor are based onsolidity-parser-parser.BuildRunbuild.shthat does the following:checks ifPythonis installed and downloads it if notincludingpipincludingantlr4-python3-runtimepackagechecks ifJavais installed and downloads it if notincludingjreincludingjdkchecks ifantlr4.jaris downloaded and downloads it if notruns the ANTLR jar file and compiles theSolidity.g4file.The output result can be found in the./outdirectoryTestsRun:python -m coverage run -m unittest discover -v && python -m coverage reportfor thePythontestsrun-tests.shto executeantlr4parse testingLicenseMIT
Package: openzim-uploader
uploaderDedicated container/script to upload files to openzim/kiwix warehouses and S3Files are uploaded via SFTP (pubkey authentication) or SCP using OpenSSH.UsageSpecify file to upload with--file.Mount the RSA private key onto/etc/ssh/keys/id_rsaor use--private_keyUse anscp://orsftp://URI to specify target.Specify a full path (with filename) to upload to a specific name or end with a/for uploading inside a folderdockerrun\-v~/.ssh/id_rsa:/etc/ssh/keys/id_rsa:ro\-v/path/:/path:rw\openzim/uploader\uploader\--file/path/my_file.zim\--upload-urisftp://uploader@warehouse.farm.openzim.org/zim/\--move\--deleteParameters--username: if your URI has no username, you can specify it here.--move: upload to a temporary filename (<fname>.tmp) and rename it upon completion. Note that SCP is not able to do it so it uploads an<fname>.completefile upon completion instead.--delete: delete source file once uploaded successfuly.--compress: enable transfer compression.--bandwidth: enable bandwidth limit. Set it in Kbps.--cipher: change default cipher (aes128-ctr).--resume: resume partially uploaded file (SFTP only)Pythonpip3installopenzim_uploader[all]openzim-uploader--helpfromopenzim_uploaderimportcheck_and_upload_filecheck_and_upload_file(src_path="/path/my_file.zim",upload_uri="sftp://uploader@warehouse.farm.openzim.org/zim/",private_key="~/.ssh/id_rsa",)Note:check_and_upload_filereturns an unix-like returncode (0on success)
Package: opep
opepOpen PEPs on your terminal.InstallationYou can simply usepipto installopep:$ pip install opepUsageYou’d be surprised how many numbers are out there! —Hynek Schlawack(out of context)$ opep 8You can also stumble upon a PEP using:$ opep randomVersioningopepusesCalendar Versioning. For the available versions, see the tags on the GitHub repository.LicenseThis project is licensed under the Apache License, see theLICENSEfile for details.
Package: operacoes-matematicas
operacoes-matematicasDescription.
The package operacoes-matematicas is used to:
- Addition, subtraction, division, multiplication
- General math operationsInstallationUse the package managerpipto install operacoes-matematicaspipinstalloperacoes-matematicasUsagefromoperacoes-matematicasimportoperationsoperations.my_function()AuthorRenato OlmedoLicenseMIT
Package: operacoes-matematicas-teste
operacoes_matematicasDescription.
The package operacoes_matematicas is used to:
- sum, subtraction;
- multiplication, division.InstallationUse the package managerpipto install package_namepipinstall-ihttps://test.pypi.org/simple/operacoes-matematicasUsagefromoperacoes_matematicasimportmultiplicacao_e_divisaoex:multiplicacao_e_divisao.multiplica_dois_numeros(2,7)ormultiplicacao_e_divisao.divide_dois_numeros(5,2)AuthorRicardo DuarteLicenseMIT
Package: operagxdriver
OperaGx webdriver with cdc patch.pip install operagxdriverStarttheOperaWebDriverandreturntheWebDriverinstance.ThisfunctionstartstheOperaWebDriver,whichallowsyoutoautomateinteractionswiththeOperawebbrowser.ItusestheSeleniumlibraryandrequiresthepathstotheOperabrowserexecutableandtheOperaWebDriverexecutable.Important!ACDCpatch(fromhttps://github.com/ultrafunkamsterdam/undetected-chromedriver)isappliedbeforerunningtheEXEfile.Note:Beforerunningthisfunction,makesuretodownloadtheappropriateOperaWebDriverversionthatmatchesyourinstalledOperabrowserversion.https://github.com/operasoftware/operachromiumdriver/releasesArgs:opera_browser_exe(str):ThefilepathtotheOperabrowserexecutable.opera_driver_exe(str):ThefilepathtotheOperaWebDriverexecutable.userdir(str,optional):TheuserdirectoryfortheOperaprofile.Ifprovided,thebrowserwillusethisdirectorytostoretheuserdata(cookies,history,etc.).Ifnotprovided,thedefaultprofilewillbeused.arguments(tuple,optional):Additionalcommand-lineargumentstopasstotheOperaWebDriverwhenlaunchingthebrowser.Defaultstoatuplecontainingthefollowingarguments:("--no-sandbox","--test-type","--no-default-browser-check","--no-first-run","--incognito","--start-maximized",)Returns:selenium.webdriver.remote.webdriver.WebDriver:TheWebDriverinstancefortherunningOperabrowser.Example:fromoperagxdriverimportstart_opera_driverdriver=start_opera_driver(opera_browser_exe=r"C:\Program Files\Opera GX\opera.exe",opera_driver_exe=r"C:\Users\hansc\Downloads\operadriver_win64\operadriver.exe",userdir='c:\\operabrowserprofile',arguments=("--no-sandbox","--test-type","--no-default-browser-check","--no-first-run","--incognito","--start-maximized",))
Package: operalib
OperalibOperalib is a library for structured learning and prediction forpythonbased on operator-valued kernels (OVKs).
OVKs are an extension of scalar kernels to matrix-valued kernels.
The idea is to predict silmultaneously several targets while, for instance,
encoding the output structure with the operator-valued kernel.We aim at providing an easy-to-use standard implementation of operator-valued
kernel methods. Operalib is designed for compatilibity toscikit-learninterface and conventions.
It usesnumpy,scipyandcvxoptas
underlying libraries.The project is developed by theAROBASgroup of theIBISC laboratoryof the
University of Evry, France.DocumentationIs available at:http://operalib.github.io/operalib/documentation/.InstallThe package is available on PyPi, and the installation should be as simple as:pip install operalibThis package uses distutils, which is the default way of installing
python modules. To install in your home directory, use:python setup.py install --userTo install for all users on Unix/Linux:python setup.py build
sudo python setup.py installGITYou can check the latest sources with the command:git clone https://github.com/operalib/operalibor through ssh, instead of https, if you have write privileges:git clone git@github.com:operalib/operalib.gitReferencesA non-exhaustive list of publications related to operator-valued kernel is
available here:http://operalib.github.io/operalib/documentation/reference_papers/index.html.
Package: operate-tools
Operate ToolsPython操作工具合集Author: Joker-desireOSCS安装pip3installoperate-tools# v1.0.5版本对整体进行了重写，对于之前的版本请使用以下方式进行安装pip3installoperate-tools==1.0.4功能如下日期操作星期操作时间操作文件操作……功能说明时间日期工具-Datefromoperate_toolsimportDate方法1. 获取当前日期Date.now(fmt="%Y-%m-%d%H:%M:%S")2. 获取前几天的日期Date.days_before(days=31)3. 获取后几天的日期Date.days_after(days=31)4. 获取昨天的日期Date.yesterday(fmt="%Y-%m-%d")5. 获取明天的日期Date.tomorrow(fmt="%Y-%m-%d")6. 获取上周的日期Date.last_week(fmt="%Y-%m-%d")7. 获取下周的日期Date.next_week(fmt="%Y-%m-%d")8. 获取上个月的日期Date.last_month(fmt="%Y-%m-%d")9. 获取下个月的日期Date.next_month(fmt="%Y-%m-%d")10. 获取开始到结束日期的每一天日期Date.every_day("2021-01-01","2021-01-05")11. 计算时间差Date.time_difference("2022-03-17 16:15:38","2022-03-17 16:15:40")12. 判断当前时间是否在指定时间范围内Date.is_within_time_range(start="00:00",end="09:00")13. 时间戳转时间Date.timestamp_to_time("1626441600000",unit="ms")Date.timestamp_to_time("1626441600",unit="s")Date.timestamp_to_time("1626441600000",unit="ms",fmt="%Y-%m-%d")14. 获取当前星期Date.now_week()Date.now_week(lang='zh')Date.now_week(lang='en')15. 获取某一日期的星期Date.week("2023-07-19")Date.week(date="2023-07-19",lang="zh")Date.week(date="2023-07-19",lang="en")文件工具-Filefromoperate_toolsimportFile方法1. 获取文件的编码格式File.encode("test/file.txt")2. 编码格式转换res=File.convert_encode("test/file.txt","utf-8")
Package: operation-log
Operation Logoperation_log is used to record operation log for web api.FeaturesNon-intrusive to record operation logRequirementsPython 3.xGetting startedinstall operation logpipinstalloperation-loguse record_operation_log decorator to wrap api functionfromoperation_logimportOperator,record_operation_logdefget_operator()->Operator:returnOperator(1,'test_user')@record_operation_log(get_operator,'hello world')asyncdefhello(request):returnResponse()use record_operation_log decorator with contextimporttypingfromoperation_logimportOperator,record_operation_logdefget_operator()->Operator:returnOperator(1,'test_user')defbefore_execute_context(request)->typing.Dict:return{'msg':'hello old world'}defafter_execute_context(request)->typing.Dict:return{'msg':'hello new world'}@record_operation_log(get_operator,'hello {{ before_execute.msg }} {{ after_execute.msg }}',before_execute_contexts=[before_execute_context],after_execute_contexts=[after_execute_context])asyncdefhello(request):returnResponse()The context functions will receive params such as the execute function.custom log writerimportloggingfromoperation_logimportOperator,OperationLogWriter,OperationLog,record_operation_logdefget_operator()->Operator:returnOperator(1,'test_user')classCustomOperationLogWriter(OperationLogWriter):defwrite(self,operation_log:OperationLog):logging.info(f'this is custom log writer{operation_log.text}')@record_operation_log(get_operator,'hello world',writer=CustomOperationLogWriter())asyncdefhello(request):returnResponse()If you want to save the operation log to the database, you can subclass theOperationLogWriterclass and implement
your ownwritemethod.
Package: operator-language
# Operator语言教程Operator是一门只需要符号编辑的编程语言。而，在Operator中只有两个变量，分别是m和n结合以下标识符，就能完成一些操作。`python '+'->m+=1'-'->m-=1'*'->m*=n'/'->m//=n'%'->m%=n'^'->m**=n'|'->m=abs(m) '='->n=m '"'->n=chr(m) '~'->m,n=n,m ';'->print(n,end='')':'->m=input()'[...]'->for i inrange(n):...'`...`'->#...`这是作者写的一串Hello World的代码`+++=-^+=-*";.++=+++*=/+~^+";+++++++";;+++";=/++~/=-----";.+++=-^=+++*-";.++=+++*=+*+";=+++";------";--------";`目前作者还在改进嵌套循环的代码，敬请期待~
Package: operatorlookup
Access intrinsic operators through a lookup dictMore information:https://docs.python.org/3/library/operator.htmlfromoperatorlookupimportdoopsprint('-------------------------')print(doops("==",10,20))print(doops("+",10,20))print(doops("-",10,20))print('-------------------------')defli=list(range(10))print(defli)_=[(doops("=",defli,x,x*10))forxinrange(10)]print(defli)print('-------------------------')defli=list(range(10))print(defli)_=[(doops("del",defli,0))forxinrange(10)ifx>5]print(defli)print('-------------------------')defli={}print(defli)_=[(doops("=",defli,x,x*100))forxinrange(10)ifx>5]print(defli)print('-------------------------')getitemsresult=[(doops("[]",defli,x))forxinrange(10)ifx>5]print(getitemsresult)False30-10-------------------------[0,1,2,3,4,5,6,7,8,9][0,10,20,30,40,50,60,70,80,90]-------------------------[0,1,2,3,4,5,6,7,8,9][4,5,6,7,8,9]-------------------------{}{6:600,7:700,8:800,9:900}-------------------------[600,700,800,900]# All operations:fromoperatorlookupimportopdictprint(opdict){'+':<function_operator.add(a,b,/)>,'concat':<function_operator.concat(a,b,/)>,'in':<function_operator.contains(a,b,/)>,'/':<function_operator.truediv(a,b,/)>,'//':<function_operator.floordiv(a,b,/)>,'&':<function_operator.and_(a,b,/)>,'^':<function_operator.xor(a,b,/)>,'~':<function_operator.invert(a,/)>,'|':<function_operator.or_(a,b,/)>,'**':<function_operator.pow(a,b,/)>,'is':<function_operator.is_(a,b,/)>,'is not':<function_operator.is_not(a,b,/)>,'=':<function_operator.setitem(a,b,c,/)>,'del':<function_operator.delitem(a,b,/)>,'[]':<function_operator.getitem(a,b,/)>,'<<':<function_operator.lshift(a,b,/)>,'%':<function_operator.mod(a,b,/)>,'*':<function_operator.mul(a,b,/)>,'@':<function_operator.matmul(a,b,/)>,'neg':<function_operator.neg(a,/)>,'not':<function_operator.not_(a,/)>,'pos':<function_operator.pos(a,/)>,'>>':<function_operator.rshift(a,b,/)>,'-':<function_operator.sub(a,b,/)>,'truth':<function_operator.truth(a,/)>,'<':<function_operator.lt(a,b,/)>,'<=':<function_operator.le(a,b,/)>,'==':<function_operator.eq(a,b,/)>,'!=':<function_operator.ne(a,b,/)>,'>=':<function_operator.ge(a,b,/)>,'>':<function_operator.gt(a,b,/)>,'+=':<function_operator.iadd(a,b,/)>,'&=':<function_operator.iand(a,b,/)>,'iconcat':<function_operator.iconcat(a,b,/)>,'//=':<function_operator.ifloordiv(a,b,/)>,'<<=':<function_operator.ilshift(a,b,/)>,'%=':<function_operator.imod(a,b,/)>,'*=':<function_operator.imul(a,b,/)>,'@=':<function_operator.imatmul(a,b,/)>,'|=':<function_operator.ior(a,b,/)>,'**=':<function_operator.ipow(a,b,/)>,'>>=':<function_operator.irshift(a,b,/)>,'-=':<function_operator.isub(a,b,/)>,'/=':<function_operator.itruediv(a,b,/)>,'^=':<function_operator.ixor(a,b,/)>}
Package: operators-greedy-alg
яю#\x00 \x00P\x00r\x00a\x00c\x00t\x00i\x00c\x00a\x00l\x00 \x00w\x00o\x00r\x00k\x00 \x006\x00 \x00-\x00 \x00M\x00o\x00d\x00u\x00l\x00a\x00r\x00 \x00p\x00r\x00o\x00g\x00r\x00a\x00m\x00s\x00
\x00
\x00
\x00
\x00*\x00*\x00A\x00k\x00h\x00m\x00a\x00d\x00u\x00l\x00l\x00i\x00n\x00 \x00R\x00a\x00m\x00i\x00l\x00,\x00*\x00*\x00
\x00
\x00*\x00*\x00K\x00I\x002\x002\x00-\x001\x006\x00/\x001\x00b\x00,\x00*\x00*\x00
\x00
\x00*\x00*\x00V\x00a\x00r\x00i\x00a\x00n\x00t\x00 \x005\x00,\x00*\x00*\x00
\x00
\x00
\x00
\x00\x00$\x00 \x00p\x00y\x00t\x00h\x00o\x00n\x00 \x00p\x00a\x00c\x00k\x00a\x00g\x00e\x00 \x00-\x00-\x00h\x00e\x00l\x00p\x00\x00 \x00-\x00 \x00c\x00a\x00l\x00l\x00i\x00n\x00g\x00 \x00t\x00h\x00e\x00 \x00i\x00n\x00t\x00e\x00r\x00f\x00a\x00c\x00e\x00 \x00t\x00o\x00 \x00d\x00e\x00m\x00o\x00n\x00s\x00t\x00r\x00a\x00t\x00e\x00 \x00t\x00h\x00e\x00 \x00w\x00o\x00r\x00k\x00
\x00
\x00
\x00
\x00\x00$\x00 \x00p\x00y\x00t\x00h\x00o\x00n\x00p\x00a\x00c\x00k\x00a\x00g\x00e\x00 \x00-\x00t\x00\x00 \x00-\x00 \x00c\x00a\x00l\x00l\x00i\x00n\x00g\x00 \x00t\x00e\x00s\x00t\x00 \x00m\x00o\x00d\x00e\x00
\x00
\x00
\x00
\x00e\x00x\x00a\x00m\x00p\x00l\x00e\x00:\x00
\x00
\x00
\x00
\x00\x00\x00\x00p\x00y\x00t\x00h\x00o\x00n\x00 \x00 \x00f\x00r\x00o\x00m\x00 \x00g\x00r\x00e\x00e\x00d\x00y\x00_\x00a\x00l\x00g\x00 \x00i\x00m\x00p\x00o\x00r\x00t\x00 \x00g\x00r\x00e\x00e\x00d\x00y\x00 \x00 \x00p\x00r\x00i\x00n\x00t\x00(\x00g\x00r\x00e\x00e\x00d\x00y\x00(\x00{\x00'\x00M\x00T\x00S\x00'\x00:\x00 \x00{\x004\x00,\x00 \x005\x00,\x00 \x007\x00,\x00 \x009\x00}\x00,\x00 \x00'\x00M\x00E\x00G\x00A\x00F\x00O\x00N\x00'\x00:\x00 \x00{\x001\x00,\x00 \x002\x00,\x00 \x003\x00,\x00 \x004\x00,\x00 \x005\x00,\x00 \x006\x00}\x00}\x00,\x00 \x00{\x001\x00,\x00 \x002\x00,\x00 \x003\x00,\x00 \x004\x00,\x00 \x005\x00,\x00 \x007\x00}\x00)\x00)\x00 \x00 \x00\x00\x00\x00
\x00
\x00
\x00
\x00
\x00
\x00\x00[\x00'\x00M\x00E\x00G\x00A\x00F\x00O\x00N\x00'\x00,\x00 \x00'\x00M\x00T\x00S\x00'\x00]\x00\x00
Package: opera-tosca-parser
xOpera TOSCA parserTOSCA YAML parser for xOpera orchestrator.Table of ContentsIntroductionPrerequisitesInstallation and QuickstartLicenseContactAcknowledgementIntroductionxOpera TOSCA parser aims to be a lightweight parser component compliant withOASIS TOSCA.
The current compliance is with theTOSCA Simple Profile in YAML v1.3.We are also testing experimental support forTOSCA Version 2.0, which will
become the main version after TOSCA 2.0 is released.Prerequisitesopera-tosca-parserrequires Python 3 and a virtual environment.
In a typical modern Linux environment, we should already be set.
In Ubuntu, however, we might need to run the following commands:$sudoaptupdate$sudoaptinstall-ypython3-venvpython3-wheelpython-wheel-commonInstallation and QuickstartThe orchestration tool is available on PyPI as a package namedopera-tosca-parser.
Apart from the latestPyPI productionversion, you can also find the latestPyPI developmentversion, which
includes pre-releases so that you will be able to test the latest features before they are officially released.The simplest way to testopera-tosca-parseris to install it into Python virtual environment:$python3-mvenv.venv&&..venv/bin/activate(.venv)$pipinstallopera-tosca-parserTo test if everything is working as expected, you can clonexopera-examplesGitHub repository and try to parse a
simplehello-worldexample with theopera-tosca-parserCLI tool that comes along with the TOSCA parser:(.venv)$gitclonegit@github.com:xlab-si/xopera-examples.git(.venv)$cdxopera-examples/misc/hello-world(.venv)$opera-tosca-parserparseservice.yamlParsing service template...Done.And that is it.
Theoperaorchestrator is available inxopera-operarepository.
For more startup examples please visitxopera-examplesrepository.
If you want to use opera commands from an API take a look atxopera-apirepository.
You can also take a look at thexOpera SaaScomponent, which is designed for business partners and enterprise users.
To find more about xOpera project visit ourxOpera documentation.LicenseThis work is licensed under theApache License 2.0.ContactYou can contact the xOpera team by sending an email toxopera@xlab.si.AcknowledgementSome work from this project has received funding from the European Union’s Horizon 2020 research and innovation
programme under Grant Agreements No. 825040 (RADON), No. 825480 (SODALITE) and No. 101000162 (PIACERE).
Package: opera-utils
opera-utilsInstallTheopera_utilspackage is available on PyPI and conda-forge:pipinstallopera-utils# if mamba is not already installed: conda install -n base mambamambainstall-cconda-forgeopera-utils(Note:usingmambais recommended for conda-forge packages, but miniconda can also be used.)While not required for all, some utilities use the GDAL package, which can be installed most easily on conda-forge:mambaenvupdate--fileenvironment-geo.ymlSetup for DevelopersTo contribute to the development ofopera-utils, you can fork the repository and install the package in development mode.
We encourage new features to be developed on a new branch of your fork, and then submitted as a pull request to the main repository.To install locally,Download source code:gitclonehttps://github.com/opera-adt/opera-utils.git&&cdopera-utilsInstall dependencies:mambaenvcreate--namemy-opera-env--fileenvironment.yml
mambainstallgdalInstall the source in editable mode:mambaactivatemy-opera-env
python-mpipinstall-e.The extra packages required for testing and building the documentation can be installed:# Run "pip install -e" to install with extra development requirementspython-mpipinstall-e".[docs,test]"We usepre-committo automatically run linting and formatting:# Get pre-commit hooks so that linting/formatting is done automaticallypre-commitinstallThis will set up the linters and formatters to run on any staged files before you commit them.After making functional changes, you can rerun the existing tests and any new ones you have added using:python-mpytest
Package: oper-math-basic-project
package_nameDescription.
The package operaciones is used to:
- Add some numbers
- Substract some numbersInstallationUse the package managerpipto install package_namepipinstallpackage_nameUsagefromoperacionesimportsumaoperaciones.suma_num()fromoperacionesimportrestaoperaciones.resta_num()AuthorSabuat Urbina RibeiroLicenseMIT
Package: operondemmo
DependenciesInstallPyPIGitHubUsageQuick startBasic ParametersAdvanced ParametersDependenciesPython3.6NumpyPandasLinux(Fedora)KallistoInstallPyPI$pip3installoperondemmo--userordownload operondemmoand install:$pip3installoperondemmo-*.tar.gz--userTo upgrade to latest version:$pip3install--upgradeoperondemmo--userGitHub$wgethttps://github.com/GodInLove/operondemmo/archive/master.zip$unzipoperondemmo-master.zip$cdoperondemmo-master$python3setup.pyinstallordownloadand install:$pipinstalloperondemmo-*.tar.gzUsageQuick start$operondemmo-iinput_dir-ffna_file_path-ggff_file_pathOutputs:test/OUT/operon.txtOr:$operondemmo-iinput_dir-ffna_file_path-ggff_file_path-oout_dir-tthresholdBasic Parameters-hPRINT_HELP:show this help message and exit-iINPUT_DIR:A directory to store a group of files.-oOUTPUT_DIR:A directory include output data(operon file).-gGFF_FILE:The gff file of the prokaryote.-tTHRESHOLD:the threshold in (-1,1).-fFNA_FILE:The fna file of the prokaryote genome.-pPROCESS_NUMSpecify the number of processing threads.INPUT_DIR:example_input/
   c1/
      SRR6322033_1.fastq.gz
      SRR6322033_2.fastq.gz
   c2/
      SRR6322035_1.fastq.gz
      SRR6322035_2.fastq.gz
   c3/
      SRR6322037_1.fastq.gz
      SRR6322037_2.fastq.gz
   ...Advanced Parameters--personBuild co-expression matrix with person correlation--spearmanBuild co-expression matrix with spearman correlationcite:Junier I, Unal E B, Yus E, et al. Insights into the mechanisms of basal coordination of transcription using a genome-reduced bacterium[J]. Cell systems, 2016, 2(6): 391-401.Bray N L, Pimentel H, Melsted P, et al. Near-optimal probabilistic RNA-seq quantification[J]. Nature biotechnology, 2016, 34(5): 525.
Package: operun.contactform
operun Contact-FormThe operun Contact-Form Add-On.TranslationsDeutsch (de)English (en)InstallationInstall operun.contactform by adding it to your buildout:[buildout]

...

eggs =
    operun.contactformand then runningbin/buildoutContributeIssue Tracker:https://github.com/operun/operun.contactform/issuesSource Code:https://github.com/operun/operun.contactformLicenseThe project is licensed under the GPLv2.ContributorsJesse Stippel,jesse.stippel@operun.deChangelog1.0.0a4 (2019-06-18)Changed:from_address changed to portal_address for administrator E-Mail.[Netroxen]1.0.0a3 (2019-06-17)Added:Added field error class to DSGVO checkbox.[Netroxen]Added /contact-info URL override.[Netroxen]Changed:Removed box-shadow from buttons and inputs.[Netroxen]Fixed:Fixed incorrect Bootstrap column width.[Netroxen]1.0.0a2 (2019-06-14)Added:Added operun brand colors to contact and mail templates.[Netroxen]Changed:Replaced firstname and lastname fields for a single name field.[Netroxen]Fixed:Fixed incorrect German translation for checkbox field.[Netroxen]1.0.0a1 (2019-04-30)Added:Added HTML E-Mail templates.[Netroxen]Added Python & Selenium-Browser tests.[Netroxen]Initial release.[Netroxen]
Package: operun.crm
Introductionoperun CRM is a simple Plone based Customer-Relationship-Management (CRM) system.
It comes with basic Content-Types for Accounts, Contacts and Todos.It contains the following:AccountContactTodoThis system is inspired by Zurmo. Use this package if other web-based CRMs like SugarCRM or similar are oversized for your requirements.CompatibilityVersion 1.0.0 is tested with Plone 4.3.x.
Version 1.0.0 is tested with Plone 5.0.x with a few exceptions:You must define theplone.formwidget.contenttreepackage inside your buildout.eggs=...plone.formwidget.contenttreeFor Plone 5 it may be necessary to pinplone.formwidget.contenttreein your versions.plone.formwidget.contenttree=1.0.15InstallationAdd this line to the eggs section of yourbuildout.cfg.eggs=...operun.crmDependency InstallationIf you want to addoperun.crmas a dependency to another product, use thedefaultprofile in yourmetadata.xml.<metadata><version>1</version><dependencies>...<dependency>profile-operun.crm:default</dependency>...</dependencies></metadata>ToubleshootingPlease report issues in the bugtracker athttps://github.com/operun/operun.crm/issues.ContributorsJesse Stippel,jesse.stippel@operun.deStefan Antonelli,stefan.antonelli@operun.deStefan Arnold,stefan.arnold@operun.deChangelog2.3.0 (2019-02-04)Version bumped to 2.3.0Added:Added new favicon for CRM. #74
[netroxen]Note fields are now searchable using dexterityindexer.
[netroxen]Changed:Account items are now sorted on title instead of date.
[netroxen]Batching does not limit results for Account items which are not published.
[netroxen]Bugfixes:Fixed language code in translation files.
[netroxen]Plone toolbar icons for Content-Types now fixed.
[netroxen]2.2.1 (2018-04-16)Version bumped to 2.2.1Changed:Bumped Plone to version 5.1.1.
[netroxen]2.2.0 (2018-04-16)Version bumped to 2.2.0Changed:Bumped Plone to version 5.1.0.
[netroxen]Cleaned up the buildout configuration.
[netroxen]Added:Added VCard support with an export option for contacts. #57
[netroxen]Added page pagination to contacts and accounts views. #67
[netroxen]2.1.0 (2017-05-04)Version bumped to 2.1.0Added:Added LDAP integration. #49
[netroxen]2.0.0 (2017-03-29)Initial 2.0.0 release.
[netroxen]