Saravanan666/pypi-org huggingface dataset:
Package: odoo-addon-web-widget-url-advanced
Extend URL widget features to ease customization of anchor’s text.By default, the URL widget will show the plain URL.
You can specify an attribute to provide a static label too.With this module, you can use a field for link’s inner text using attribute
‘text_field’. You can also add a prefix to the link using attribute
‘prefix_name’.Until 13.0 this functionality was separated in modules ‘web_widget_url_advanced’
and ‘web_widget_prefixed_url’Table of contentsUsageKnown issues / RoadmapBug TrackerCreditsAuthorsContributorsMaintainersUsageUseurlwidget as you do usually, then add an extra parametertext_fieldto indicate which field (present in the view already) must be used for the anchor text.<fieldname="some_url"widget="url"text_field="another_field"/>M2O fields are supported:display_nameis used automatically.For example, in the partner form,
if you want to display the website link with partner’s name as anchor you can do:<fieldname="website"widget="url"text_field="name"placeholder="e.g. www.odoo.com"/>This is going to change the rendering fromtoOr user can add any hyperlink text using ‘prefix_name’ attribute<fieldname="skype_name"widget="url"'prefix_name':'skype'/>both can be applied inside the options attribute too:<fieldname="skype_name"widget="url"options="{'prefix_name': 'skype'}"/>Known issues / Roadmap<fieldtext_field="foo"/>is not supported in tree views.Bug TrackerBugs are tracked onGitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomedfeedback.Do not contact contributors directly about support or help with technical issues.CreditsAuthorsCamptocampContributorsSimone Orsi <simone.orsi@camptocamp.com>CorporateHubAlexey Pelykh <alexey.pelykh@corphub.eu>Jay Vora <jay.vora@serpentcs.com>Swapnesh Shah <s.shah.serpentcs@gmail.com>Joan Sisquella <joan.sisquella@forgeflow.com>Peerapong Supasompob <peerapong.supasompob@gmail.com>MaintainersThis module is maintained by the OCA.OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.This module is part of theOCA/webproject on GitHub.You are welcome to contribute. To learn how please visithttps://odoo-community.org/page/Contribute.
Package: odoo-api-wrapper
Odoo API WrapperA wrapper forOdoo's External API.You can check out the official documentationhere.odoo_api_wrapper.api.Apiis the main class,odoo_api_wrapper.api.Operationsdefines
the operations used forodoo_api_wrapper.api.Api.call, raisesodoo_api_wrapper.api.APIError.Installationpip install odoo-api-wrapperUsage ExamplesInstantiate anApiCreate an instance of the API to start using it.importodoo_api_wrapperapi=odoo_api_wrapper.Api("http://localhost:8069","db","1001","password")Define your modelpartner=odoo_api_wrapper.Model(api,"res.partner")List recordsRecords can be listed and filtered viasearch().partner.search([[['is_company','=',True]]])Count recordsRather than retrieve a possibly gigantic list of records and count them,search_count()can be used to retrieve only the number of records matching the query.
It takes the same domain filter assearch()and no other parameter.partner.search_count([[['is_company','=',True]]])Read recordsRecord data are accessible via theread()method, which takes a list of ids (as
returned bysearch()), and optionally a list of fields to fetch. By default, it
fetches all the fields the current user can read, which tends to be a huge amount.ids=partner.search([[['is_company','=',True]]],{'limit':1})[record]=partner.read([ids])# count the number of fields fetched by defaultlen(record)List record fieldsfields_get()can be used to inspect a model’s fields and check which ones seem to be
of interest.partner.fields_get([],{'attributes':['string','help','type']})Search and readBecause it is a very common task, Odoo provides asearch_read()shortcut which, as
its name suggests, is equivalent to asearch()followed by aread(), but avoids
having to perform two requests and keep ids around.partner.search_read([[['is_company','=',True]]],{'fields':['name','country_id','comment'],'limit':5},)Create recordsRecords of a model are created usingcreate(). The method creates a single record and
returns its database identifier.id=partner.create([{'name':"New Partner"}])Update recordsRecords can be updated usingwrite(). It takes a list of records to update and a
mapping of updated fields to values similar tocreate().partner.write([[id],{'name':"Newer partner"}])Delete recordsRecords can be deleted in bulk by providing their ids tounlink().partner.unlink([[id]])
Package: odoo-auto-proxy
InstallUsing pip3 on local system:pip3installodoo_auto_proxyIn docker environmentdockerrun-d-v"$PWD/../nginx_conf:/etc/nginx/conf.d"-eNGINX_CONTAINER_NAME=odoo-eURL_DOMAIN=localhostodoo_auto_proxyRunmkdirnginx_confdockerrun-d-v"$PWD/../nginx_conf:/etc/nginx/conf.d"-p80:80--nameodoonginxpython3-modoo_reverse_proxy-codoo-f../nginx_confdocker-compose-fexemple_odoo_compose.ymlup# Install certbot on nginx containermkdir-p/var/www/letsencryptaptupdateaptinstall-ysoftware-properties-commonadd-apt-repositoryppa:certbot/certbotaptupdateaptinstall-ypython-certbot-apacheaptinstallgnupgaptinstall-ycertbotaptinstall-ypython-certbot-nginxIf this is not working, the generated template may be wrong. Check it by
running:dockerexecodoonginx-sreloadwhereodoois your nginx containerIssuesPort is lost with redirection: accessingodoo_server.localhost:8000redirect us toodoo_server.localhost/web, we can only use port 80 (and maybe
443) as forward for nginxSome values are override manually (web_upstream, proxy_pass and
poll_upstream): remove them from config and template?TODOAdd certbot supportMake the python program available on pypiCreate dockerfile, docker image and docker-compose for the service
Package: odoo-backup-db-cli
odoo-backup-db-cliTool to create full backup of odoo databaseFeaturesFully typed with annotations and checked with mypy,PEP561 compatibleAdd yours!Installationpipinstallodoo-backup-db-cliExample creating cronLet's say you want to create cron each minute create backup and you have a conda environment.
Then you need:Copy snippet appended by Anaconda in~/.bashrc(at the end of the file) to a separate file~/.bashrc_condaAs of Anaconda 2020.02 installation, the snippet reads as follows:# >>> conda initialize >>># !! Contents within this block are managed by 'conda init' !!__conda_setup="$('/home/USERNAME/anaconda3/bin/conda''shell.bash''hook'2>/dev/null)"if[$?-eq0];theneval"$__conda_setup"elseif[-f"/home/USERNAME/anaconda3/etc/profile.d/conda.sh"];then."/home/USERNAME/anaconda3/etc/profile.d/conda.sh"elseexportPATH="/home/USERNAME/anaconda3/bin:$PATH"fifiunset__conda_setup# <<< conda initialize <<<Make sure that:The path/home/USERNAME/anaconda3/is correct.The user running the cronjob has read permissions for~/.bashrc_conda(and no other user can write to this file).Incrontab -eadd lines to run cronjobs onbashand to source~/.bashrc_condaRuncrontab -eand insert the following before the cronjob:SHELL=/bin/bashBASH_ENV=~/.bashrc_condaIncrontab -einclude at beginning of the cronjobconda activate my_env;as in exampleExample of entry for a script that would execute at noon 12:30 each day on the Python interpreter within the conda environment:3012***condaactivatemy_env;odoo-backup-db-clicreate-backupproduction_local_with_filestore;condadeactivateAnd that's it.You may want to check from time to time that the snippet in~/.bashrc_condais up to date in case conda updates its snippet in~/.bashrc.Licenseagpl3CreditsThis project was generated withwemake-python-package. Current template version is:88c80f5d17a6f4bc41dbc5473db4f5ffd2b3068f. See what isupdatedsince then.
Package: odoo-backup-tool
Odoo Backup ToolORHCommand Line ToolRequirementsInstallationInstall from PyPI:pipinstallodoo-backup-toolQuickstartBackup local databaseobtbackupDBNAMEBackup and uploadobtbackup-and-push--format<format>Options:-d,--dbnameTEXTDatabasename-f,--formatTEXTFormat:zip,dump,folder[required]-n,--no-filestoreDonotincludefilestore.-p,--prefixTEXTUseprefixinfilename.-k,--keepDonotdeletefilesafterbackup.-a,--authTEXTBucketauthentication.-b,--bucketTEXTBucketname.--helpShowthismessageandexit.
Package: odoo-build
Odoo Build for OdooOdoo Build for Odoo is a hepler tool for Odoo project.InstallationFrom PyPIInstall it in your project virtualenv:sudo apt-get install odoo-buildRequirementsAn Odoo project with a python virtualenv.ConfigurationProject SettingsCreate a file named obuild.yml in your project directory.Optionsobuild:version: Specify the version of odoo-build targeted by the configuration file.config: Default Odoo config file to run it.database: Database configuration.host: Database host.port: Database port.user: Database user.password: Database password.addons: All project addons.addons: Project addons to translate.Some examplesRun server and updatemymoduleandothermoduleinmy_databaseobuild odoo -u mymodule,othermodule -d my_databaseSee help for details.CreditsBluestar Solutions Sàrl
Microcity - Rue Pierre-à-Mazel 39
CH-2000 NeuchâtelCopyrightCopyright (C) 2012-2020 Bluestar Solutions Sàrl (http://www.blues2.ch).LicenseGNU AFFERO GENERAL PUBLIC LICENSE, version 3
Package: odoo-client
Odoo Python ClientOdoo API Client in PythonFree Software: MIT LicenseInstallationpipinstallodoo_clientQuickstartfromodoo_clientimportOdooClientODOO_URL="<Your Odoo URL>"ODOO_DB="<Your Odoo Database Name>"ODOO_USER="<Your Odoo Username>"ODOO_PW="<Your Odoo Password>"CLIENT=OdooClient(ODOO_URL,ODOO_DB,ODOO_USER,ODOO_PW)PARTNER=CLIENT.object("res.partner")# Search for Partners that are companies and return the fields: "name", "country_id" and "comment"records=PARTNER.search_read([["is_company","=",True]],["name","country_id","comment"])
Package: odoo-connector
Easy Connector with Odoo ERP!This is a library that allow an easy and friendly connection with an Odoo ERP instance on Pyhton 2.xInstallation using PIP commandUse the command$pipinstallodoo-connectorHow to use connectfromodoo.connectorsimportOdooConnectorodoo=OdooConnector(endpoint='your-odoo-endpoint',dbname='your-odoo-dbname',username='your-odoo-user',password='your-odoo-password')uid=odoo.connect()Hot to add, edit and delete ( using the method write() )fromodoo.connectorsimportOdooConnectorodoo=OdooConnector(endpoint='your-odoo-endpoint',dbname='your-odoo-dbname',username='your-odoo-user',password='your-odoo-password')uid=odoo.connect()# create a new partnerdata=[{'name':'Test User','email':'test@domain.com'}]result=odoo.write(uid=uid,model='res.partner',action='create',data=data)# edit partnerid=1# change the value for the any do you wantdata=[[id],{'name':'Test User','email':'test@domain.com'}]result=odoo.write(uid=uid,model='res.partner',action='write',data=data)# delete partnerid=1# change the value for the any do you wantdata=[id]result=odoo.write(uid=uid,model='res.partner',action='unlink',data=data)# create a new userdata=[{'login':'test@domain.com','name':'Test User','password':'123456'}]result=odoo.write(uid=uid,model='res.users',action='signup',data=data)Hot to search, search_read and read ( using the method search() )fromodoo.connectorsimportOdooConnectorodoo=OdooConnector(endpoint='your-odoo-endpoint',dbname='your-odoo-dbname',username='your-odoo-user',password='your-odoo-password')uid=odoo.connect()query=[[['is_company','=',True],['customer','=',True]]]fields=['name','email','country_id']# using the search methodresult=odoo.search(uid=uid,model='res.partner',action='search',queries=query,parameters=None)# using the search with paginationparameters={'offset':5,'limit':10}result=odoo.search(uid=uid,model='res.partner',action='search',queries=query,parameters=parameters)# using the search_countodoo.search(uid=uid,model='res.partner',action='search_count',queries=query)# using the read methodids=odoo.search(uid=uid,model='res.partner',action='search',queries=query,parameters={'limit':1})iflen(ids)>0:result=self.odoo.search(uid=uid,model='res.partner',action='read',queries=ids,parameters={'fields':fields}formatted=True)# The "formatted" attribute allow format the result in a JSON object, this is a boolean attribute by default is False# using the search_read method with parameters.result=odoo.search(uid=uid,model='res.partner',action='search_read',queries=query,parameters={'fields':fields,'limit':2},formatted=True)The search and write methods were tested with all methods allowed on the External API Documentation from Odoo website
and the write() and search() methods can work with any methods from any models existing on Odoo instanceReleases notes:1.0.0: Initial and stable version connection.1.0.1: README.md file updated.1.0.2: Bugs fixed related with the encodings on the ServerProxy connection.
Package: odoo-core-install-generator
Odoo Core Install GeneratorInstallpippip install odoo-core-install-generatorUsingOptionsKeyDescriptionRequiredDefaultExampleprojectproject name or code:heavy_check_mark:project=biszxauthorauthorproject nameauthor=biszxwebsitewebsitewebsite=https://biszx.comcategorycategoryHiddencategory=Hiddenversionversion14.0version=14.0licenselicenseLGPL-3version=LGPL-3addon_pathaddon path to generate core installaddonsaddon_path=addonsconfigcreate ext.py in project core install directory# tree view
addons/project_core_install
└── ext.py

# ext.py
options = {
    # more addon to depends addon directory
    # that contain in project path
    'addon_path': [],

    # more addon to depends by addon name
    'depends': [
        'more_addon',
    ],

    # exclude directory to depends
    'exclude_dirs': [
        'sample',
    ]
}runningodoo-core-install-generator project=biszx
Package: odoocrm-python
odoocrm-pythonodoocrm is an API wrapper for Odoo CRM written in PythonInstallingpip install odoocrm-pythonUsagefrom odoocrm.client import Client

client = Client('URL', 'DATABASE', 'USERNAME', 'PASSWORD')Search partnerresponse = client.search_partner([[['is_company', '=', True], ['customer', '=', True]]], {'offset': 10, 'limit': 5})Read partnerresponse = client.read_partner([1, 2], {'fields': ['name', 'country_id', 'comment']})Search and Read partnerresponse = client.search_read_partner([[]], {'fields': ['name', 'country_id', 'comment'], "order": "id asc"})
# Get all fields by not sending 'fields' paramaterCreate partnerresponse = client.create_partner([{'name': "John doe",}])List fields Partnerresponse = client.list_fields_partner()Search partner Tagsresponse = client.search_partner_tag([[['name', '=', 'tag_name']]], {'offset': 10, 'limit': 5})Create partner Tag (Category)response = client.create_partner_tag("tag_name")RequirementsrequestsTestspython tests/test_client.py
Package: odoodoc
http://packages.python.org/odoodocA [Sphinx](http://sphinx.pocoo.org/latest) extension providing Odoo-specific markup.InstallationThis extension can be installed from the Python Package Index:pip install odoodocAlternatively, you can clone the odoodoc repository from GitHub,
and install the extension directly from the repository:hg clone https://github.org/minorisa/odoodoc
cd odoodoc
python setup.py installUsagePlease refer to the [documentation](http://packages.python.org/odoodoc) for further information.
Package: odoo-downloader
Command line Odoo DownloaderCommand line for download odoo installer or sourceAuthorHadi Cahyadi @cumulus13 teamRequirementsconfigsetrequestsmake_colorspydebuggerpheaderbs4bitmathclipboardunidecodepywgetUsage$ odoo_downloader -h
  usage: odoo_downloader.py [-h] [-o PLATFORM] [-v VERSION] [-t TYPE]
                          [-p DOWNLOAD_PATH] [-s SAVE_AS] [-d DOWNLOADER]

	optional arguments:
	  -h, --help            show this help message and exit
	  -o PLATFORM, --platform PLATFORM
	                        Operation System type, valid is: 'ubuntu | debian | windows | rpm | 
	                        source | linux', default is current platform
	  -v VERSION, --version VERSION
	                        Odoo version, valid is >= 12
	  -t TYPE, --type TYPE  Odoo type, valid is 'community | enterprise', default is 'community'
	  -p DOWNLOAD_PATH, --download-path DOWNLOAD_PATH
	                        Save download to dir
	  -s SAVE_AS, --save-as SAVE_AS
	                        Save as name, default is base on platform type and version
	  -d DOWNLOADER, --downloader DOWNLOADER
	                        Download app, valid is: "wget | aria2c | persepolis" default is wget 
	                        but if wget not installed then default is pywget
 	  -nd, --no-download    Don't Download just generate it only

$ #example:
$ odoo_downloader -o ubuntu -v 14 -t enterprise -p /home/cumulus13/Download -d aria2c>> from odoo_downloader import Odoo_downloader as downloader
>> downloader.download("/home/cumulus13/Download", 'windows', '14', 'community', downloader = 'aria2c')
   GENERATED    : https://download.odoocdn.com/download/14/exe?payload=MTYzOTk5NDE2OC4xNC5leGUuQk5MVmFsWlZMWkJiTngxNklTMXVsR2QxVlk0VFVGTkd1UlBhWWQ0SEZKYz0%3D
   DOWNLOAD_PATH: /mnt/licface/f/DOWNLOADS
   DOWNLOAD_PATH (linux): /home/cumulus13/Download
>> #or just
>> downloader.download("/home/cumulus13/Download")
   GENERATED    : https://download.odoocdn.com/download/14/deb?payload=MTYzOTk5NTM3Ni4xNC5kZWIuUDBlOVU4UUc1TnY5U0szUUxpSzJ6azlVS3M1WE9qdXBPaGZDMG1CajV0OD0%3D
   DOWNLOAD_PATH: /mnt/licface/f/DOWNLOADS
   DOWNLOAD_PATH (linux): /home/cumulus13/DownloadDonatePaypal
Package: odoo-elasticapm
odoo-elasticapm integrate the APM tracking from the ELK suiteContentsQuick startIssueChangesQuick startInstallodoo-elasticapm:pip install odoo-elasticapmThen instead of launching odoo withodoocmd useodoo-elasticapm:odoo-elasticapmConfigurationFollowing environment variable are needed:ELASTIC_APM_SERVER_URL=http://apm-server:8200The following one are optionnal:ELASTIC_APM_SERVICE_NAME=my-customer
ELASTIC_APM_TRANSACTION_SAMPLE_RATE=0.1All environment variable are available on official documentation:https://www.elastic.co/guide/en/apm/agent/python/current/configuration.htmlIssueWe still have issue on travis regarding verison 12 and 13 (I fail to reproduce them locally)
If you want to use it on this version be carefull.
Contibution and help is welcomeChanges0.0.1add transaction capture for http requestadd transaction capture for cronadd exception capture for http requestadd exception capture for cronadd special span for ORM method (search, create, write, unlink)
Package: odoo-fast-report-mapper-equitania
Odoo-fast-report-mapper====================================================================================This is a simple python library to create/collect FastReport entries in/from an Odoo environment.  Also to test the rendering of FastReport documents.It is a helper tool for our Odoo modules.https://www.ownerp.com/odoo-fastreport.Installationodoo-fast-report-mapper requires :Python (>= 3.8)click (>= 8.1.3)OdooRPC (>= 0.9.0)PyYaml (>= 5.4.1)Use the package managerpipto install odoo-fast-report-mapper.pipinstallodoo-fast-report-mapper-equitaniaUsage$odoo-fr-mapper--help
usage:odoo-fr-mapper[--help][--server_path][--yaml_path]Optionalarguments:--server_pathServerconfigurationfolder--yaml_pathYamlfolder--helpShowthismessageandexit.exampleodoo-fr-mapper--server_path=./connection_yaml--yaml_path=./reports_yaml# v12 basis dbsodoo-fr-mapper--server_path=$HOME/gitbase/dev-helpers/yaml/v12-yaml-con--yaml_path=$HOME/gitbase/fr-core-yaml/v12/yaml# v13 basis dbsodoo-fr-mapper--server_path=$HOME/gitbase/dev-helpers/yaml/v13-yaml-con--yaml_path=$HOME/gitbase/fr-core-yaml/v13/yamlOptionsYou can check out the full licensehereThis project is licensed under the terms of theAGPLv3license.
Package: odoo-filter-addons
Odoo filter addonsSimple command line utility used to filter specific odoo addons from
multiple repositories. It leveragesgit-aggregatorand itsrepo.ymlformat as well asdoodba's
addonsaddons.ymlformat.InstallationViapipxwithpipx install odoo-filter-addons(recommended)Viapipwithpython3 -m pip install odoo-filter-addonsAfter cloning locally withpython3 -m pip install .UsageIn order to work, the program requires a folder containing the configuration filesrepos.ymlandaddons.yml,
and ifrepos.ymlreferences environment variables they can be defiend inrepos.env.
If the files are valid, the modules specified inaddons.ymlare filtered from the
results of runninggitaggregateinto the specified output directory.By default, both the input and output path default to the current working directory,
but can be overridden through the-i/--input-pathand-o/--output-pathflags
respectively. Additionally, some other flags can be provided to alter the behavior of
the program:FlagDefaultDescription-c, --clean / --no-cleanTrueClean gitaggregate output-C, --cache / --no-cacheFalseCache gitaggregate output, overrides -c-r, --release / --no-releaseFalseCreate a release commit if any changes are made-p, --push / --no-pushFalsePush to remote repo if any changes are commited-g, --gitlab-ciFalseUpdate client addon repository in GitLab CI
Package: odoo-find-runbot-instance
IntroductionThis package can be used by Odoo devs looking to test their integration/RPC code against a safe/sandbox live Odoo instance.The runbot servers offer many such instances, which this module can access to find and return url, database and user credentials
of some of these live instances.Try to be light with your tests, do not abuse Odoo's runbot servers.Below some basic usage examples, but do take a look at the code to see some other useful methods.Usage####1. Simple example, using default values:fromodoo_find_runbot_instanceimportget_runbot_url_db,runbot_admin_user_credentialsimporthttpxurl,db=get_runbot_url_db(httpx)username,passwd=runbot_admin_user_credentials()####2. Same, but for version 14 and enterprise branch:fromodoo_find_runbot_instanceimportget_runbot_url_db,runbot_admin_user_credentialsimporthttpxurl,db=get_runbot_url_db(httpx,version='14.0',branch='enterprise')username,passwd=runbot_admin_user_credentials()Pytest Usage###conftest.pyimportpytestimporthttpxfromtypingimportTuplefromodoo_find_runbot_instanceimportrunbot_admin_user_credentials,get_runbot_url_db@pytest.fixture(scope='package')defurl_db_user_pwd()->Tuple[str,str,str,str]:username,password=runbot_admin_user_credentials()# if you prefer to use the demo user use the line below# username, password = runbot_admin_user_credentials()url,db=get_runbot_url_db(httpx)returnf"{url}/jsonrpc",db,username,passwordtest_example.pyimporthttpxfromaio_odoorpcimportOdooRPCdeftest_odoo(url_db_user_pwd:list):url,db,user,pwd=url_db_user_pwdwithhttpx.Client()assession:odoo=OdooRPC(database=db,username_or_uid=user,password=pwd,http_client=session,url_jsonrpc_endpoint=url,default_model_name='product.template')odoo.login()# you are all set...products=odoo.search_read(domain=[],fields=['list_price'],limit=10)...
Package: odooghost
OdooGhostMaking Odoo development a breeze.OdooGhost is a powerful tool tailored for streamlining the development and deployment of Odoo instances. It offers an integrated solution that harnesses the power of Docker for orchestrating and managing these instances. With both a Command Line Interface (CLI) and an upcoming web interface, managing Odoo stacks has never been simpler.FeaturesFine-grained Configuration: Customize each Odoo instance with configuration files, tailoring settings to fit your specific needs.Holistic Instance Management: With just a few commands, you can create, update, start, stop, and even delete Odoo instances straight from the CLI.InstallationTo kickstart your OdooGhost journey:pipx install odooghost.UsageInitial SetupBefore diving deep into OdooGhost, ensure you set it up properly. Use thesetupcommand and specify your working directory:odooghost setup /you/working/dirCrafting a StackTo bring your Odoo instance to life, you first need to define its blueprint - the stack configuration file. Samples to guide your creation can be foundhere.odooghost stack create you-stack-config.yamlContributeHave ideas or enhancements for OdooGhost? We'd love to see them! Create a Pull Request to join in the journey of making Odoo development smoother for everyone.LicenseLicensed under theMIT License.