oca / account-payment Goto Github PK
View Code? Open in Web Editor NEWProject supervised by the Banking PSC
Home Page: https://odoo-community.org/psc-teams/banking-10
License: GNU Affero General Public License v3.0
Project supervised by the Banking PSC
Home Page: https://odoo-community.org/psc-teams/banking-10
License: GNU Affero General Public License v3.0
Error:
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo/odoo/models.py", line 4414, in ensure_one
_id, = self._ids
ValueError: too many values to unpack (expected 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/odoo/addons/web/controllers/main.py", line 1620, in report_download
response = self.report_routes(reportname, docids=docids, converter='pdf')
File "/opt/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/addons/web/controllers/main.py", line 1569, in report_routes
pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
File "/opt/odoo/odoo/addons/base/ir/ir_actions_report.py", line 640, in render_qweb_pdf
html = self.with_context(context).render_qweb_html(res_ids, data=data)[0]
File "/mnt/extra-addons/odoo/enterprise/web_studio/models/report.py", line 17, in render_qweb_html
return super(Report, self).render_qweb_html(docids, data)
File "/opt/odoo/odoo/addons/base/ir/ir_actions_report.py", line 670, in render_qweb_html
data = report_model.get_report_values(docids, data=data)
File "/mnt/extra-addons/iterativo/iterativo-premium/l10n_do_check_print/report/check_print.py", line 12, in get_report_values
return super(ReportCheckPrint, self).get_report_values(docids, data)
File "/mnt/extra-addons/oca/account-payment/account_check_printing_report_base/report/check_print.py", line 96, in get_report_values
paid_lines = self.get_paid_lines(objects)
File "/mnt/extra-addons/oca/account-payment/account_check_printing_report_base/report/check_print.py", line 73, in get_paid_lines
amls = rec_lines.matched_credit_ids.mapped('credit_move_id') +
File "/opt/odoo/odoo/fields.py", line 946, in get
record.ensure_one()
File "/opt/odoo/odoo/models.py", line 4417, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: account.move.line(85391, 85388)
I get the following messages on travis
Creating instance:
/home/travis/odoo-7.0/openerp-server -d openerp_template --log-level=warn --stop-after-init --addons-path /home/travis/build/OCA/account-payment,/home/travis/odoo-7.0/addons --init purchase,account,account_payment,account_voucher,sale,account_check_writing,base,account_report_company,stock
[Errno 2] No such file or directory
I don't know what causes that error. Someone has an idea ?
If you install the account_due_list to a database with a lot of account_move_lines (i.e. < 100.000) the calculation of store values takes too much time.
???
El campo origin_invoice_ids
no existe
Contexto del error:
Vista account.invoice.form.return
[view_id: 1029, xml_id: n/a, model: account.invoice, parent_id: 471]
None" while parsing /home/odoo/addons/account-payment/account_payment_return/views/account_invoice_view.xml:8, near
account.invoice.form.return
account.invoice
form
When we create a payment return related to an invoice paid through a debit order, it creates the corresponding journal entry and it lets the invoice unpaid. The problem is that you cannot reconcile de unpaid amount with the bank statement because it is not shown in blue as the original payment.
To recreate the situation just create an invoice with a direct debit payment mode an include it in a debit order. The payment mode is set with offsetting_account = bank account
You can confirm the debit order so that the invoice becomes paid and you can reconcile the payment with the bank statement because it is shown in blue at the reconciliation screen.
Then you create a payment return for that invoice and confirm it, so that a journal entry is created. The account move contains the credit to the bank account but it does not appear in the reconciliation screen. I guess because there is no bank payment line create for that return.
I tested in runbot version 11.
Hi
I'm looking for the project on https://www.transifex.com/oca/public/?page=1 ,but can't find, there is any problem or the project is in another place ?
Hi,
We are considering to use the payment return module (very good module, btw, thanks!) with payment orders and payment modes that use the transfer account mechanism. With that mode, the payment journal is not the bank journal but typically a Misc operations journal.
Would you see a problem to allow selecting journals of type general
on payment returns, in addition to bank journals?
I have created this issue to track all the discussion around how to handle payment/direct debit orders in Odoo 9.0.
In a nutshell:
@fclementic2c made this document summarizing well the situation and with a proposal: https://docs.google.com/document/d/1FfaitydiW5uFjyIwtMT9fVbScwBefCATmoM2x7HNVbk/edit#. At the end, he proposes to extend the current account.payment
model to fit the rest of the needs, but having studied the v9 code, I don't agree.
Trying to fit our needs/features inside a model that has some wrong base concepts (be based on invoices instead of journal entries, strange workflow for following the payment...) will make us to work a lot to make it, inhibit a lot of things, hack other, and all of this to be repeated on each version. I see also no real advantage of doing that, because there are very few possible integrations that we can use extending the object.
A new object will allow us to keep a clean base code that avoids to make ugly hacks like in the past, and also to control all the data model without depending on Odoo changes.
Besides, using a new object doesn't prevent to integrate with the new cool features that v9 brings. For example, the payments widget on the bottom of the invoice:
We will only need to extend the method https://github.com/odoo/odoo/blob/7682760dcad232829fbb5d4221f66a1ebb9d6c91/addons/account/models/account_invoice.py#L142
The new object I'm proposing is to take again the v9 payment.order
model, and rename it to account.payment.order
to fit current naming conventions, but with all the logic we have already built for v8 and before.
So, my proposal is:
What do you think?
I think that it.po in account_due_list must be reviewed
https://github.com/OCA/account-payment/blob/8.0/account_due_list/i18n/it.po#L99 Pagamenti should be "Scadenze" or "lista scadenze"
it could be confused with "Pagamenti cliente" and "Pagamenti fornitore"
what do you think about?
Is there a reason for not being able to make a refund, for example, an advance payment?
account-payment/account_payment_return/views/payment_return_view.xml
Lines 38 to 44 in 7222b3f
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-11.0
Unable to upgrade module because this two columns exits:
https://github.com/OCA/account-payment/blob/8.0/account_payment_extension/migrations/8.0.1.0.0/pre-migration.py#L17-L18
Can It be checked if exist before alter table?
This will probably require a repo on its own, but I figured this is the most relevant existing repo.
One of my upcoming projects is a set of payment modules that operate over API, instead of this BS interstitial payment acquirer page.
Obviously we have some PCI concerns to alleviate, but I think this isn't too much of a problem given the right architecture & proper security audit/guidance.
Here's my thoughts from an abstract perspective. At minimum there will be an Authorize.net and a PayPal module, and I'm assuming most other payment APIs have similar methods:
payment.method
Issues/Thoughts:
Obviously this is high level and a lot is missing, but I'm still in the initial concept phase. Turns out a lot of you are working on the same things as me, so I'm just dropping the ideas when they are beginning in order to not reinvent any wheels ๐
Not sure if this belongs to OCA/account-pament
or OCA/bank-payment
, but I'll like to know whether the account-payment module support recurring payment OOTB? For example, pay on the 28th of every month for 12 months.
when i save the record................
""
You must input all moves references in the payment return.
""
But in Payment Reference is alway empty. (insert text manually dont work).
Any idea?
thank you
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-10.0
Read OCA/maintainer-tools#29 to know more about it
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-13.0
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
We'd like to add the to the account_due_list:
This information is similarly shown in the Partner Aging Balance, but the account_due_list can often be more practical to use.
With this information, the AP/AR person can quickly have a better understanding of what's due and how good/bad is it.
Is there something existing to import SEPA Direct Debit returns from camt.054.001.02
files? For now we only have account_payment_return_import_sepa_pain that manages the technical rejections from pain.002.001.03
files. All return codes are already in it.
Hi,
module account_due_list_payment_mode create payment_mode_id field on account.move.line as related='invoice_id.payment_mode_id', so it's not editable.
Module account_payment_partner create other field with same name, but not as related, this field is editable and is set on invoice validation.
For user is usefull to get this field editable on account_due_list.
Module account_due_list_payment_mode depends account_payment_partner, I think that could be better to don't redefine this field and allow to edit on account due list.
I have installed the module, and when I go to any open invoices which has payment registered against that partner. System throws following trace back:
Error: QWeb2: Template 'PaymentAmountPopOver' not found
http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:2908
Traceback:
exception@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:2908:7
_render@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:2953:103
render@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:2949:151
render_value/<@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2803:850
_.forEach@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:12:558
render_value@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2803:766
start/<@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2231:314
trigger@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3105:180
trigger@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3109:148
set/<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3113:6
_.forEach@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:12:650
set@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3110:35
set_value@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2232:637
set_value_from_record@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2232:715
load_record/<@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2135:170
_.forEach@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:12:650
.mixin/</.prototype[name]@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:69:526
load_record@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2135:71
trigger@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3105:180
trigger@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:3109:148
do_show/shown</<@http://0.0.0.0:8069/web/content/6368-a124525/web.assets_backend.js:2133:190
then/</</<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:547:681
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
then/</</<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:547:874
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
then/</</<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:547:874
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
Deferred/</deferred[tuple[0]]@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:548:56
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
then/</</<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:547:874
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
then/</</<@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:547:874
fire@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:541:299
fireWith@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:546:198
done@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:937:95
callback@http://0.0.0.0:8069/web/content/252-6cdd5c8/web.assets_common.js:957:15
For invoices with multiple payments, amounts listed in "Payment" column are the same as amounts in the "Original Amount".
The issue is that the report is aggregating amounts from all of the invoice's payments rather than selecting the ones in the report.
Hi using account_check_printing_report_dlt103 the middle and bottom section Check # field the check number wraps and is printed under the words Check # - this causes the number to overlap the word Payment. I'm also getting a 2nd page - possibly because check amount on the 3rd portion is right up against the margin.
Hi,
Can someone pls enable the weblate translation for version 10.0? Or advise on how to do it.
Thank you!
The database has more than 39.000 records.
The problem is that the method _maturity_residual() calls method _maturity_residual() of account_move_line model and it's very very very slow.
I'm planning to test and migrate account_treasury_forecast modules from https://github.com/odoomrp/odoomrp-wip to this repo on version 10, any comment about it @pedrobaeza
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-12.0
the module "account_payment_batch_process" fails to work with a warning message
"Verification Failed! Total Invoices Amount and Check amount does not match!.
following block of code always results in True hence warning is raised (self.cheque_amount is always 0.0, nowhere this amount is computed hence is not equal to self.total_pay_amount
`if self.total_pay_amount != self.cheque_amount:
raise ValidationError(_('Verification Failed! Total Invoices'
' Amount and Check amount does not'
' match!.'))`
hi,
i've created a payment mode to 30 days, the days (10,25).
I've created an invoice with date 11/07/2015
The payment mode calculated the date 10/09/2015
I think that the correct day should be 25/08/2015
At moment of print check of a payment raise the following error:
Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_qweb/qweb.py", line 343, in _compiled_fn
return compiled(self, append, new, options, log)
File "", line 1, in template_630_917
File "", line 2, in body_call_content_916
File "", line 5, in foreach_915
File "", line 27, in foreach_914
KeyError: 4
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/OCB-11.0/addons/web/controllers/main.py", line 1620, in report_download
response = self.report_routes(reportname, docids=docids, converter='pdf')
File "/.repo_requirements/odoo/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/home/odoo/OCB-11.0/addons/web/controllers/main.py", line 1569, in report_routes
pdf = report.with_context(context).render_qweb_pdf(docids, data=data)[0]
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_actions_report.py", line 637, in render_qweb_pdf
html = self.with_context(context).render_qweb_html(res_ids, data=data)[0]
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_actions_report.py", line 675, in render_qweb_html
return self.render_template(self.report_name, data), 'html'
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_actions_report.py", line 479, in render_template
return view_obj.render_template(template, values)
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_ui_view.py", line 1211, in render_template
return self.browse(self.get_view_id(template)).render(values, engine)
File "/home/odoo/OCB-11.0/addons/web_editor/models/ir_ui_view.py", line 27, in render
return super(IrUiView, self).render(values=values, engine=engine)
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_ui_view.py", line 1220, in render
return self.env[engine].render(self.id, qcontext)
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_qweb/ir_qweb.py", line 57, in render
return super(IrQWeb, self).render(id_or_xml_id, values=values, **context)
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_qweb/qweb.py", line 272, in render
self.compile(template, options)(self, body.append, values or {})
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_qweb/qweb.py", line 350, in _compiled_fn
raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name)
odoo.addons.base.ir.ir_qweb.qweb.QWebException: 4
Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/addons/base/ir/ir_qweb/qweb.py", line 343, in _compiled_fn
return compiled(self, append, new, options, log)
File "", line 1, in template_630_917
File "", line 2, in body_call_content_916
File "", line 5, in foreach_915
File "", line 27, in foreach_914
KeyError: 4
Error to render compiling AST
KeyError: 4
Template: 630
Path: /templates/t/t/div[2]/t/div/div/div[2]/div/t/table/tbody/t
Node:
Steps to reproduce the error:
Tested in runbot instance http://3359094-11-0-8a268a.runbot3.odoo-community.org
I think that error is in method get_report_values in this line
because the method get_paid_lines is being called without active_model='account.payment' in context.The ISO20022 documentation lists 225 return codes while the OCA addon lists 20 codes. Shouldn't all these missing codes be added in the OCA addon?
i have summited a pull request with a fix for this issue, but it needs some re-factoring
Error:
Odoo Server Error
Traceback (most recent call last):
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 650, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/odoo/odoo-server/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 692, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo-server/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 335, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 936, in call
return self.method(*args, **kw)
File "/odoo/odoo-server/src/odoo/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo-server/src/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/odoo/odoo-server/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/odoo/odoo-server/src/odoo/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/odoo/odoo-server/src/odoo/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/odoo/odoo-server/src/odoo/addons/account/models/account_payment.py", line 235, in create_payments
payments.post()
File "/odoo/odoo-server/src/custom/iterativo/dominicana-premium/invoice_payment_method/models/account_payment.py", line 44, in post
res = super(AccountPayment, self).post()
File "/odoo/odoo-server/src/custom/oca/account-payment/account_check_printing_report_base/models/account_payment.py", line 40, in post
if (self.journal_id.check_print_auto and
File "/odoo/odoo-server/src/odoo/odoo/fields.py", line 935, in get
record.ensure_one()
File "/odoo/odoo-server/src/odoo/odoo/models.py", line 4366, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: account.payment(1613, 1614)
Hi,
I just went to test a pretty sever bug I found with no_auto_lines, but using runbot you can't even open either payment screen, you just get fields missing errors (main 7.0 branch)
shadow_move_id in account_vat_on_payment is problem for customer payments
supplier_invoice_number in account_voucher_supplier_invoice_number is problem for supplier payments.
This module is awesome! Thank you.
I am however having trouble with the module under v10. Once you have registered the NSF it continues to show an balance under AR even after you have registered the replacement payment. When I run the test, on your runbot and it's actually showing the exact same journal entries per transaction.
When we run a Due Payment Report or Partner Ledger it shows a $0 balance, but when we run the Open Items Report from OAC Accounting Reports it's showing a balance. Maybe there report is inaccurate in pulling data, but it's still tracking a positive back into AR which would skew the numbers no?
Again, THANK YOU for this module. It's honestly an oversite imo for people that still accept check payments or deal with charge backs.
I was looking for account_voucher_no_auto_lines
module i did not find it at this branches, why was removed ?
Exists at 7.0
In a SEPA payment status report, the reason code can be NARR, meaning the description doesn't match any reason code but is described in the AddtlInf
tag.
Shouldn't the OCA addon manage these narrative reasons?
Steps of the test (in runbot: http://3117441-8-0-4bf68a.runbot1.odoo-community.org/web?debug=1)
1.- I create a sell payment mode.
2.- I assign the new payment mode to customer Agrolait.
3.- I create a sale order with this payment mode and validate the invoice.
4.- I check in Payments and due list the payment mode is not shown.
5.- In order to show this payment
I have to go to invoice and select another payment mode (in this case I select blank), and save.
I select again payment mode "Direct Payment Sales" and save.
6.- And now the payment mode is shown.
If we find the reason, we will make the PR, but more likely someone will find it before us ...
Thanks!!
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-9.0
Hello,
I need to port account_voucher_supplier_invoice_number for the V8.
Is anyone have started to work on that already?
Else I'll do it.
Guillaume
Is there somebody working on porting account_vat_on_payment to version 9.0?
Thanks
Steps to reproduce:
Problem:
Expected behavior:
At @ursais, we have a module to select multiple invoices from the vendor bill list view or from our aging module (equivalent to account_due_list) and generate all the payments (grouped by vendor).
I think this repository would be the best fit to host it, unless the feature already exists in a module I haven't found.
Any opinion? Interest?
Thanks.
Can anybody please take a minute to explain why does this module handle write-offs on customer invoice payments but not on vendor bill payments?
The way I see it they are both useful.
Thanks
I have 3 different banks with 3 different check templates under the same company. Although i am able to create multiple templates, i am only able to change them at a company level. i think it would be great if we could have this functionality at a journal level, so you we have the option to have a default template set up for each journal individually and be able to quickly print them out. Thanks in advance for your support guys. @pedrobaeza what do you think about this one?
Hi, I have been looking for bank account money transfer. Which I think the payment window almost do the job, except I can't fill the bank charge.
In fact, if the type "Internal Transfer" can allow similar as "Write off" amount, that will do.
Another desired feature is to do such thing in batch (I used to create a new window, with many transfer lines in older version). But that can be done easily later.
Anyone can suggest if this kind of feature will make sense to do. Or do you do this other way?
Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.