GithubHelp home page GithubHelp logo

oca / stock-logistics-warehouse Goto Github PK

View Code? Open in Web Editor NEW
309.0 86.0 705.0 80.75 MB

Odoo Warehouse Management Addons

Home Page: https://odoo-community.org/psc-teams/logistics-18

License: GNU Affero General Public License v3.0

Python 44.88% HTML 55.12%
hacktoberfest erp odoo python

stock-logistics-warehouse's Introduction

Runboat Pre-commit Status Build Status codecov Translation Status

stock-logistics-warehouse

TODO: add repo description.

Available addons

addon version maintainers summary
account_move_line_product 16.0.1.0.0 Displays the product in the journal entries and items
account_move_line_stock_info 16.0.1.1.1 Account Move Line Stock Info
procurement_auto_create_group 16.0.1.0.0 Allows to configure the system to propose automatically new procurement groups during the procurement run.
product_packaging_usability 16.0.1.0.1 Add sugar to Product Packaging
scrap_reason_code 16.0.1.1.0 bodedra Reason code for scrapping
stock_cycle_count 16.0.1.0.0 LoisRForgeFlow Adds the capability to schedule cycle counts in a warehouse through different rules defined by the user.
stock_demand_estimate 16.0.1.2.0 Allows to create demand estimates.
stock_demand_estimate_matrix 16.0.1.0.0 Allows to create demand estimates.
stock_exception 16.0.1.0.0 Custom exceptions on stock picking
stock_helper 16.0.1.1.0 Add methods shared between various stock modules
stock_inventory 16.0.2.0.2 Allows to do an easier follow up of the Inventory Adjustments
stock_inventory_count_to_zero 16.0.1.0.0 Request an inventory count filling the quantities to zero as default
stock_inventory_discrepancy 16.0.1.0.0 Adds the capability to show the discrepancy of every line in an inventory and to block the inventory validation when the discrepancy is over a user defined threshold.
stock_inventory_justification 16.0.1.0.0 rousseldenis ThomasBinsfeld This module allows to set justification on inventories
stock_inventory_preparation_filter 16.0.1.1.0 More filters for inventory adjustments
stock_location_lockdown 16.0.1.0.1 Prevent to add stock on locked locations
stock_location_position 16.0.1.0.0 Add coordinate attributes on stock location.
stock_location_product_restriction 16.0.1.0.0 lmignon rousseldenis Prevent to mix different products into the same stock location
stock_location_zone 16.0.1.0.1 Classify locations with zones.
stock_move_auto_assign 16.0.1.1.1 Try to reserve moves when goods enter in a location
stock_move_auto_assign_auto_release 16.0.1.1.1 Auto release moves after auto assign
stock_move_common_dest 16.0.1.0.1 Adds field for common destination moves
stock_move_location 16.0.1.3.1 This module allows to move all stock in a stock location to an other one.
stock_move_packaging_qty 16.0.1.5.0 yajo EmilioPascual Add packaging fields in the stock moves
stock_mts_mto_rule 16.0.1.0.1 Add a MTS+MTO route
stock_packaging_calculator 16.0.1.0.1 Compute product quantity to pick by packaging
stock_packaging_calculator_packaging_level 16.0.1.0.0 Glue module for packaging level
stock_picking_batch_packaging_qty 16.0.1.0.1 EmilioPascual rafaelbn Add packaging fields in stock picking batch
stock_picking_commercial_partner 16.0.1.0.0 Add Commercial Partner on the Stock Picking
stock_picking_procure_method 16.0.1.0.0 Allows to force the procurement method from the picking
stock_picking_product_interchangeable 16.0.1.0.0 CetmixGitDrone Stock Picking Product Interchangeable
stock_picking_show_linked 16.0.1.0.0 This addon allows to easily access related pickings (in the case of chained routes) through a button in the parent picking view.
stock_picking_volume 16.0.1.0.3 lmignon Compute volume information on stock moves and pickings
stock_picking_volume_packaging 16.0.1.0.1 Use volume information on potential product packaging to compute the volume of a stock.move
stock_product_qty_by_packaging 16.0.1.0.0 Compute product quantity to pick by packaging
stock_putaway_product_template 16.0.1.1.0 kevinkhao sebastienbeau Add product template in putaway strategies from the product view
stock_quant_cost_info 16.0.1.0.0 Shows the cost of the quants
stock_quant_manual_assign 16.0.1.1.0 Stock - Manual Quant Assignment
stock_quant_safe_inventory 16.0.1.0.0 Prevents the quantity on the quant from being updated if quantities have already been picked but not validated in pickings in progress.
stock_removal_location_by_priority 16.0.1.0.0 Establish a removal priority on stock locations.
stock_reservation_date_show 16.0.1.0.0 Display reservation date of stock moves
stock_reserve 16.0.1.3.1 Stock reservations on products
stock_route_mto 16.0.1.0.0 Allows to identify MTO routes through a checkbox and availability to filter them.
stock_search_supplierinfo_code 16.0.1.0.1 Allows to search for picking from supplierinfo code
stock_storage_category_capacity_name 16.0.1.0.0 Allows to have a better display name for Stock Storage Category Capacity model
stock_valuation_layer_accounting_date 16.0.1.0.0 Stock Valuation Layer Accounting Date
stock_valuation_layer_total_value 16.0.1.0.0 Show total value on tree and form view
stock_warehouse_calendar 16.0.1.0.0 JordiBForgeFlow Adds a calendar to the Warehouse

Unported addons

addon version maintainers summary
stock_package_type_button_box 16.0.1.0.0 (unported) rousseldenis DEPRECATED - This module is a technical module that allows to fill in a button box for Stock Package Type form view

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA) policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.


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.

stock-logistics-warehouse's People

Contributors

aungkokolin1997 avatar davidbforgeflow avatar davidjforgeflow avatar emiliopascual avatar florian-dacosta avatar francesco-ooops avatar franciscofactorlibre avatar guewen avatar gurneyalex avatar ivorra78 avatar jordibforgeflow avatar liweijie0812 avatar lmignon avatar loisrforgeflow avatar mateugforgeflow avatar miquelrforgeflow avatar mymage avatar oca-git-bot avatar oca-transbot avatar oca-travis avatar pedrobaeza avatar ps-tubtim avatar rousseldenis avatar sebastienbeau avatar sergio-teruel avatar simahawk avatar tdu avatar victoralmau avatar weblate avatar yajo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stock-logistics-warehouse's Issues

stock_inventory_preparation_filter: Test on runbot from OCA was not successful

Hi,

I wanted to select on product category that contains two products. I was able to select the product category, but nothing happened related to the filtering. No product came listed below. And when I tried to add a product manually, it came on the top, where I should only select the categories.

It looks to me as if something is wrong in the module and it did not work at all as I was expecting.

Basically, there is no filtering. The module at the moment allows to indicate a filter, but nothing else is happening. Looks to me like a bug, but I'm not sure the way, it was meant to work.

I have retested it, I can for instance select products, they will appear on the upper screen part, but not as line detail for the inventory. So, it really does not seem to work.

Picture was added.

inventory_adjustments_-_odoo

installing take long time

i copied the folders in the addons folder and when i go to the system i tried to install the module and it take too long time to install it is still loading for 2 hours

[stock_mts_mto_rule]: Multi Warehouse?

Is the stock_mts_mto_rule module multi warehouse able? If yes, what is the correct way to set that up? Do I duplicate the MTS+MTO Route and set than on the product in which warehouse the po should be delivered? Thx for your help!

Migration to version 9.0

Todo

https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-9.0

Modules to migrate

  • stock_available - Being made by @stephankeller - #117
  • stock_available_immediately - Being made by @stephankeller - #117
  • stock_available_sale
  • stock_available_mrp - Assigned to @cyrilgdn - #148
  • stock_inventory_existing_lines
  • stock_inventory_extended
  • stock_inventory_line_price - @dlasley #275
  • stock_inventory_lockdown - @mreficent #282
  • stock_location_ownership
  • stock_move_location
  • base_product_merge
  • stock_orderpoint_creator
  • configurable_stock_level
  • stock_mts_mto_rule - By @jbeficent - #157 By @sylvain-garancher - #204
  • stock_inventory_preparation_filter - By @chienandalu - #510
  • stock_lot_valuation
  • stock_inventory_with_location
  • stock_reord_rule
  • stock_reserve - By @katyukha - #189
  • stock_reserve_sale - By @katyukha - #190
  • stock_location_area_management
  • stock_location_area_data - By @dvdhinesh - #123
  • stock_optional_valuation
  • stock_quant_manual_assign - By lbelorgey - #173 - By @jbeficent - #196
  • stock_quant_merge - By lbelorgey - #174
  • partner_location_auto_create
  • stock_orderpoint_generator - By @cyrilgdn - #170

stock_mts_mto issue

step:
1、warehouse set use mts+mto in multi warehouse
2、product ...procurement sheet set use mts+mto rule
3、run procurement ...error
image
image
4、go product --> procurement sheet ...don't use mts+mto
5、go warehouse --> run procurement ---> it's ok...

stock_inventory_hierarchical_location cause import error when starting server

Hi,

I notice that stock_inventory_hierarchical_location module cause import error when starting server. The problems are in inventory_hierarchical_location.py line 24 and 27. Bellow are the messages:

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
execute(self.server.app)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute
application_iter = app(environ, start_response)
File "/opt/odoo/odoo/openerp/service/wsgi_server.py", line 216, in application
return application_unproxied(environ, start_response)
File "/opt/odoo/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied
result = handler(environ, start_response)
File "/opt/odoo/odoo/openerp/http.py", line 1289, in call
self.load_addons()
File "/opt/odoo/odoo/openerp/http.py", line 1308, in load_addons
m = import('openerp.addons.' + module)
File "/opt/odoo/odoo/openerp/modules/module.py", line 80, in load_module
mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
File "/opt/odoo/oca_stock_logistics_warehouse/stock_inventory_hierarchical_location/init.py", line 21, in
from . import inventory_hierarchical_location
File "/opt/odoo/oca_stock_logistics_warehouse/stock_inventory_hierarchical_location/inventory_hierarchical_location.py", line 27, in
from openerp.addons.stock_inventory_hierarchical.hierarchial_inventory import PARENT_VALUES
ImportError: No module named hierarchial_inventory

Could someone confirm this?

8.0 stock_quant_merge Crash when unreserve move linked to quants on multiple locations

Here is the scenario to reproduce the bug on Odoo v8 with an update OCA/stock-logistics-warehouse/8.0 branch:

  1. In a demo database, install the module stock_quant_merge
  2. Create a new stockable product TEST1
  3. Let's say that we have 5 units of TEST1 on Self1 and 2 units on Shelf 2.
    In the "Inventory" Tab, click on the "Update" button next to "Quantity on Hand":
  • Location : WH/Stock/Self 1
  • New Quantity on hand : 5
    Click a second time on the Update button:
  • Location : WH/Stock/Self 2
  • New Quantity on hand : 2
    5) Create a new sale order with one sale order line with:
  • product: TEST1
  • quantity: 6
    Confirm the sale order.
    6) On the related outgoing picking, click on "Check Availability": 6 units should be reserved in stock and the picking should become "Ready to transfer"
    7) Go back to the sale order and click on the "Cancel Order" button (which will unreserve the stock)
    You get an error message : Expected singleton: stock.quant(41, 42)

Here is the backtrace:

Traceback (most recent call last):
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 537, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 574, in dispatch
    result = self._call_function(**self.params)
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 310, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 307, in checked_call
    return self.endpoint(*a, **kw)
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 803, in __call__
    return self.method(*args, **kw)
  File "/home/alexis/new_boite/dev/odoo8/openerp/http.py", line 403, in response_wrap
    response = f(*args, **kw)
  File "/home/alexis/new_boite/dev/odoo8/addons/web/controllers/main.py", line 948, in call_button
    action = self._call_kw(model, method, args, {})
  File "/home/alexis/new_boite/dev/odoo8/addons/web/controllers/main.py", line 936, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/sale/sale.py", line 599, in action_cancel
    sale_order_line_obj.button_cancel(cr, uid, line_ids, context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/sale_stock/sale_stock.py", line 364, in button_cancel
    return super(sale_order_line, self).button_cancel(cr, uid, ids, context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/sale/sale.py", line 1047, in button_cancel
    procurement_obj.cancel(cr, uid, sum([l.procurement_ids.ids for l in lines], []), context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/stock/procurement.py", line 103, in cancel
    self.propagate_cancel(cr, uid, procurement, context=ctx)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/purchase/purchase.py", line 1299, in propagate_cancel
    return super(procurement_order, self).propagate_cancel(cr, uid, procurement, context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/stock/procurement.py", line 93, in propagate_cancel
    self.pool.get('stock.move').action_cancel(cr, uid, [m.id for m in procurement.move_ids], context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/addons/stock/stock.py", line 2336, in action_cancel
    self.pool.get("stock.quant").quants_unreserve(cr, uid, move, context=context)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 256, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 360, in old_api
    result = method(recs, *args, **kwargs)
  File "/home/alexis/new_boite/dev/stock-logistics-warehouse8/stock_quant_merge/models/stock.py", line 52, in quants_unreserve
    quants.merge_stock_quants()
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 254, in wrapper
    return new_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/stock-logistics-warehouse8/stock_quant_merge/models/stock.py", line 33, in merge_stock_quants
    quants = self.search(self._mergeable_domain())
  File "/home/alexis/new_boite/dev/odoo8/openerp/api.py", line 254, in wrapper
    return new_api(self, *args, **kwargs)
  File "/home/alexis/new_boite/dev/stock-logistics-warehouse8/stock_quant_merge/models/stock.py", line 17, in _mergeable_domain
    self.ensure_one()
  File "/home/alexis/new_boite/dev/odoo8/openerp/models.py", line 5307, in ensure_one
    raise except_orm("ValueError", "Expected singleton: %s" % self)
except_orm: ('ValueError', 'Expected singleton: stock.quant(41, 42)')

Code analysis: the bug is quite easy to understand:

In the method quants_unreserve(), you have:

quants = move.reserved_quant_ids

In our scenario, the move will reserve 2 quants : one on Shelf1 and one on Self2, so quants is a recordset with 2 records.

Then we do:

quants.merge_stock_quants()

So, in the method merge_stock_quants(), self will have 2 records

Then we do:

self._mergeable_domain()

But, at the beginning of the method _mergeable_domain(), we have:

self.ensure_one()

So it blocks !

stock_available: translation issues on product.product view

Steps to reproduce:

  1. connect to v8 instance on https://runbot.odoo-community.org/runbot/repo/github-com-oca-stock-logistics-warehouse-153
  2. add French as a language on the instance
  3. enable Technical Settings on Administrator
  4. set French as Administrator language
  5. Go to Ventes -> Variantes d'articles (Sales -> Product Variants)

Expected:

the "Available to promise" column header is translated to French

Actual: it is displayed in English.

The translation is OK on the product.template views.

stock_mts_mto_rule :: extra moves created when recreate delivery order

product A = 5 units ( in stock)
make product A ( MTO+MTS )
make new sale order and order 10 units of product A
confirm and recheck availability in delivery order
confirm and receive products from the PO made
cancel the delivery order and recreate it from sale order
!!! now delivery order has extra lines

MTO/MTS not working after Inventory Adjustments

We did Inventory Adjustments for 500 products last week using the Inventory Control->Inventory Adjustments functionality (so basically updating the quantity on hand). We have a setup with 2 locations, one location has 0 inventory for those 500 products, the other location holds the inventory for those products.

Now here's the problem:

  1. update quantity on product1 to 3
  2. 2 sales orders for this product with quantity 1 each comes in the next day
  3. the MTO/MTS logic decided that this product is not on stock and created a purchase order for it
  4. quantity on hand=3, virtual_available=1 as the PO is still in RFQ stage

Do I need to do something special when updating the inventory with adjustments? Do you have an idea why I'm having this problem? Before everything worked fine!

Thanks,
Michael

screen shot 2016-05-09 at 6 34 36 pm

screen shot 2016-05-09 at 6 35 36 pm

Migrate stock_inventory_hierarchical and stock_inventory_location to v8

We're finally migrating these 2 modules to v8.
When this is done, migration to v9 "should" be quite simple.

History

  • pull the history of the modules into the branch 8.0 -

stock_inventory_hierarchical

  • PR: #139
  • use location_id (now it's standard)
  • move the "generate inventories" wizard to stock_inventory_hierarchical (drop the field exhaustive)
  • improve the automatic tests
  • migrate to API v8
  • update translations
  • follow the newest OCA conventions
  • update the screenshots
  • add the screenshots to the README
  • Rewrite the tests in python and complement them

stock_inventory_location

  • PR: #155
  • PR for location lockdown: #149
  • drop the extra state open if possible
  • make sure location_id is correctly used (now it's standard)
  • adapt to the new way of filling inventories (no more wizard to do this)
  • change the messages on bottom of inventory form
  • migrate to API v8
  • update translations
  • follow the newest OCA conventions
  • update the screenshots
  • add the screenshots to the README
  • Rewrite the tests in python and complement them

stock_inventory_hierarchical_location

  • inherit the "generate inventories" wizard to from stock_inventory_hierarchical to add the field exhaustive
  • Rewrite the tests in python and complement them

stock_quant_manual_assign...performance issue

Dears:

When the module is installed.

Serious performance problems occur when picking a job.
Create a picking document contains only a sum of product information, save time, have to spend 5 to 8 minutes or so to complete the save.

After removal of this module, the job was within 1 second.

[stock_mts_mto_rule]: MTO Procurement goes on exception with "No rule matching this procurement" message

We have products configured as MTS+MTO, suppliers are set on the product and when I create a sales order, Odoo also creates the procurement but the procurement goes on status exception with "No rule matching this procurement" message. When I edit the procurement and add the "YourCompany: Buy" rule to it, it runs through and creates the PO as it should. But I don't find the setting where I can set it that it inherits this setting for all future procurements. Any ideas?

[feature request] stock_mts_mto_rule to create manufacturing order

Hi,
I would like something very similar to this feature, however as the pieces are manufactured in house i would like a manufacturing order to be created instead of a purchase order. The workflow would check whether parts are in stock first and then create a manufacturing order for any parts that need to be created. As far as I can tell the module does not currently do this. I may be willing to take this on but could someone give me any advice and point me in the right direction?
Thanks,

UnicodeEncodeError: 'ascii'

Hello, i'm trying to use the module stock_reserve_sale , but in products with spanish charactes like ñ o with ü ï etc characters im'm geting this error.

Client Traceback (most recent call last):
File "/opt/odoo/odoo-server/addons/web/http.py", line 204, in dispatch
response["result"] = method(self, *_self.params)
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 1137, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 1125, in _call_kw
return getattr(req.session.model(model), method)(_args, **kwargs)
File "/opt/odoo/odoo-server/addons/web/session.py", line 42, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/odoo/odoo-server/addons/web/session.py", line 30, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/odoo/odoo-server/addons/web/session.py", line 103, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

Server Traceback (most recent call last):
File "/opt/odoo/odoo-server/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/odoo/odoo-server/openerp/netsvc.py", line 306, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/odoo/odoo-server/openerp/service/web_services.py", line 632, in dispatch
res = fn(db, uid, _params)
File "/opt/odoo/odoo-server/openerp/osv/osv.py", line 193, in execute_kw
return self.execute(db, uid, obj, method, *args, *_kw or {})
File "/opt/odoo/odoo-server/openerp/osv/osv.py", line 133, in wrapper
return f(self, dbname, _args, *_kwargs)
File "/opt/odoo/odoo-server/openerp/osv/osv.py", line 202, in execute
res = self.execute_cr(cr, uid, obj, method, _args, *_kw)
File "/opt/odoo/odoo-server/openerp/osv/osv.py", line 190, in execute_cr
return getattr(object, method)(cr, uid, _args, *_kw)
File "/opt/odoo/custom/addons/extras/stock-logistics-warehouse/stock_reserve_sale/wizard/sale_stock_reserve.py", line 109, in button_reserve
self.stock_reserve(cr, uid, ids, line_ids, context=context)
File "/opt/odoo/custom/addons/extras/stock-logistics-warehouse/stock_reserve_sale/wizard/sale_stock_reserve.py", line 86, in stock_reserve
context=context)
File "/opt/odoo/custom/addons/extras/stock-logistics-warehouse/stock_reserve_sale/wizard/sale_stock_reserve.py", line 65, in _prepare_stock_reservation
'name': "{} ({})".format(line.order_id.name, line.name),
UnicodeEncodeError: 'ascii' codec can't encode characters in position 41-42: ordinal not in range(128)

stock_inventory_location - How this module works ?

Hi,

I'm just discovering the module stock_inventory_location that manages 'exhaustive' inventory.
I don't understand how it works.

Use case 1

My (shelf1) location is empty.
When I confirm the exhaustive inventory, a new pop up is opened with the following message. "The following Locations are empty". After confirm, the inventory is filled with all the products presents in the location.
empty

-> OK.

Use case 2

My (shelf1) location has 1 product.
When I confirm the exhaustive inventory, the inventory is not filled automatically.

-> That is not the expected feature. (I expect that the inventory is filled with missing products). Did I miss something ?

CC : Numerigraphe.

module stock_lock_lot throws exception when creating lot_id via xmlrpc

I have a script to import data via xmlrpc with the following code:

** lot_values= {
'product_id': some_prod_id,
'name': some_lot,
'life_date': some_date,
}

            lot_id = models.execute_kw(dbname, uid, pwd, 'stock.production.lot', 'create', [lot_values])**

It works while module stock_lock_lot is not installed, otherwise, odoo throws this exception:

xmlrpclib.Fault: <Fault 1: 'Traceback (most recent call last):\n File "/opt/odoo/v8/core/openerp/service/wsgi_server.py", line 75, in xmlrpc_return\n result = openerp.http.dispatch_rpc(service, method, params)\n File "/opt/odoo/v8/core/openerp/http.py", line 115, in dispatch_rpc\n result = dispatch(method, params)\n File "/opt/odoo/v8/core/openerp/service/model.py", line 37, in dispatch\n res = fn(db, uid, *params)\n File "/opt/odoo/v8/core/openerp/service/model.py", line 167, in execute_kw\n return execute(db, uid, obj, method, *args, **kw or {})\n File "/opt/odoo/v8/core/openerp/service/model.py", line 118, in wrapper\n return f(dbname, *args, **kwargs)\n File "/opt/odoo/v8/core/openerp/service/model.py", line 175, in execute\n res = execute_cr(cr, uid, obj, method, *args, **kw)\n File "/opt/odoo/v8/core/openerp/service/model.py", line 164, in execute_cr\n return getattr(object, method)(cr, uid, *args, **kw)\n File "/opt/odoo/v8/core/openerp/api.py", line 268, in wrapper\n return old_api(self, *args, **kwargs)\n File "/opt/odoo/v8/other-addons/stock_lock_lot/models/stock_production_lot.py", line 72, in create\n product_id = vals.get('product_id', context.get('product_id', False))\nAttributeError: 'NoneType' object has no attribute 'get'\n'>

Maximum recursion depth exceeded when running scheduling in stock_mts_mto_rule

Hello,

After installing this module the procurement scheduling is aborted because of a RuntimeError: maximum recursion depth exceeded exception. I see that run() method on odoo procurement calls _run() method, which, in your stock_mts_mto_rule recalls run(), and this leads to the recursion error.

Some of did face this issue too?

Singleton Error

I have a self-referential one2many relationship on my product.product model.

I received a weird "Expected singleton" exception when showing the product page (form) and somehow managed to solve it by changing @api.multi to @api.one on https://github.com/OCA/stock-logistics-warehouse/blob/8.0/stock_reserve/model/product.py#L63. This probably applies to product.template as well.

What do you say?

PS: Still find it weird as the stock_reserve's button should apply to the single product.product instance in the domain, anyway.

Use of module stock_mts_mto_rule in manufacturing orders

We'd like to explore the possibility of using the module "stock_mts_mto_rule" in the context of manufacturing orders.

That is, when a manufacturing order is confirmed, and the stock moves are created, the application should reserve whatever stock is available, following a mts rule, and if there's none left, should evaluate a mto rule.

Any thoughts on how to set it up?

cc @florian-dacosta

Unable to release reservation or confirm sales quotation when > 1 quotation lines

I'm unable to confirm a sales quotation or release all order line reservations if there are more than 1 sale.order.line with reservations.

The error message is ('ValueError', 'Expected singleton: stock.reservation(34, 35)')

Steps to reproduce:

  1. Create a sales quotation with more than one reservable product lines
  2. Reserve all products, separately or all at once
  3. Confirm the sales quotation or release all lines at once (not separately. that works.)

stock_mts_mto_rule...Question?

Dear sir

The virtual stock is more than 0 but less than ordered quantity
=> On part of the products will be taken from stock and a purchase order
will be created for the rest. So it will act like both make to order and make to stock rule.

This module is a good intention. Thank you for the very offer.
However, it seems the business model is actually a little gap, and did not consider supply of products from manufacture to.

When the product is in stock, insufficient number generated by the production of a single source for MTS Rule ....
The actual business is to be less than that will be more in line with the MTO Rule realities
example test:
image

[8.0][stock_mts_mto_rule] move by mts_mto does not propagate

Impacted version

  • 8.0

Steps to reproduce

  • To set warehouse Outgoing Shippings in three steps pick/pack/out
  • To set warehouse with Use MTS+MTO rule
  • To set one product with routes Manufacture and Make to Order-Make to Stock
  • To set stock available of product with qty_available=10
  • To create sale order with product_qty = 15

Current Behavior
When confirm sale order created the procurements and the procurements created:

  • Pick with 2 lines,
    first line with product qty = 10 in waiting state
    second line with product qty = 5 in waiting another move
  • Pack and Out with one line by 15 in waiting another move state
  • And Manufacture Order by product qty=5

If MO is canceled the second line of the pick is canceled, but the all pack and out is canceled also

Expected Behavior
I think the move created by mts-mto should be created in the pack and out also, in this way when cancel buy/manufacture only move by mts-mto is canceled in pick/pack/out

Domain on wizard locations ?

Hi,

I wonder why

  • the wizard source location is not the sale_order.warehouse_id.lot_stock_id (the main stock location for the sale order Warehouse) by default
  • the list of destination location are not the customer location by default ?

Usually a sale person sales from stock to customer...

Error in stock_resserve test ?

It seems there is the follwoing error in travis :

There is someone on it ?

2015-08-05 09:23:10,002 22852 DEBUG openerp_test openerp.tools.yaml_import: Exception during evaluation of !python block in yaml_file /home/travis/build/OCA/stock-logistics-warehouse/stock_reserve/test/stock_reserve.yml.
Traceback (most recent call last):
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 581, in process_python
unsafe_eval(code_obj, {'ref': self.get_id}, code_context)
File "/home/travis/build/OCA/stock-logistics-warehouse/stock_reserve/test/stock_reserve.yml", line 96, in
assert orderpoint.procurement_ids[0].state == 'exception', 'procurement must be in exception as there is no rule for procurement'
File "/home/travis/odoo-8.0/openerp/models.py", line 5578, in getitem
return self._browse(self.env, (self._ids[key],))
IndexError: tuple index out of range
2015-08-05 09:23:10,004 22852 ERROR openerp_test openerp.tools.yaml_import: tuple index out of range
Traceback (most recent call last):
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 894, in process
self._process_node(node)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 907, in _process_node
self.process_python(node)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 581, in process_python
unsafe_eval(code_obj, {'ref': self.get_id}, code_context)
File "/home/travis/build/OCA/stock-logistics-warehouse/stock_reserve/test/stock_reserve.yml", line 96, in
assert orderpoint.procurement_ids[0].state == 'exception', 'procurement must be in exception as there is no rule for procurement'
File "/home/travis/odoo-8.0/openerp/models.py", line 5578, in getitem
return self._browse(self.env, (self._ids[key],))
IndexError: tuple index out of range
2015-08-05 09:23:10,004 22852 ERROR openerp_test openerp.tests: module stock_reserve: an exception occurred in a test
Traceback (most recent call last):
File "/home/travis/odoo-8.0/openerp/modules/loading.py", line 64, in load_test
_load_data(cr, module_name, idref, mode, 'test')
File "/home/travis/odoo-8.0/openerp/modules/loading.py", line 118, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/travis/odoo-8.0/openerp/tools/convert.py", line 899, in convert_file
convert_yaml_import(cr, module, fp, kind, idref, mode, noupdate, report)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 958, in yaml_import
yaml_interpreter.process(yaml_string)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 894, in process
self._process_node(node)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 907, in _process_node
self.process_python(node)
File "/home/travis/odoo-8.0/openerp/tools/yaml_import.py", line 581, in process_python
unsafe_eval(code_obj, {'ref': self.get_id}, code_context)
File "/home/travis/build/OCA/stock-logistics-warehouse/stock_reserve/test/stock_reserve.yml", line 96, in
assert orderpoint.procurement_ids[0].state == 'exception', 'procurement must be in exception as there is no rule for procurement'
File "/home/travis/odoo-8.0/openerp/models.py", line 5578, in getitem
return self._browse(self.env, (self._ids[key],))
IndexError: tuple index out of range

Inactive location

stock_location_inactive

This module allows you to check that:

  • a location is empty (no product)
  • a location has no active sub-locations

before setting it as inactive.

It also modify the Inventory Analysis report to hide inactive locations.

Usage

  • Go to Warehouse > Configuration > Locations
  • Try to deactivate a location
  • Go to Reporting > Warehouse > Inventory Analysis
  • A grouping by location will not display inactive locations

Migration to version 10.0

Todo

https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-10.0

Modules to migrate

8.0 stock_reserve key error with _inherits

Hi,

I tried to install the stock_reserve 8.0 module on my 8.0 Odoo instance and cannot with an error:

File "/usr/local/openerp/odoo/openerp/modules/loading.py", line 156, in load_module_graph
registry.setup_models(cr, partial=True)
File "/usr/local/openerp/odoo/openerp/modules/registry.py", line 197, in setup_models
model._setup_complete(cr, SUPERUSER_ID)
File "/usr/local/openerp/odoo/openerp/api.py", line 268, in wrapper
return old_api(self, _args, *_kwargs)
File "/usr/local/openerp/odoo/openerp/api.py", line 372, in old_api
result = method(recs, _args, *_kwargs)
File "/usr/local/openerp/odoo/openerp/models.py", line 3028, in _setup_complete
field.setup_triggers(self.env)
File "/usr/local/openerp/odoo/openerp/fields.py", line 610, in setup_triggers
self._setup_dependency([], model, path.split('.'))
File "/usr/local/openerp/odoo/openerp/fields.py", line 643, in _setup_dependency
self._setup_dependency(path0 + [head], comodel, tail)
File "/usr/local/openerp/odoo/openerp/fields.py", line 624, in _setup_dependency
fields = [model._fields[head]]
KeyError: 'stock'

I know that this is from the _inherits = but I do not understand why because stock.move is obviously a valid model name. The only thing I can think of is that the model uses the new api and the _inherits may be old style? I do not understand this error or why nobody else has reported it.

Any ideas?

[stock_inventory_hierarchical][8.0][Bug] _complete_name() takes at least 6 arguments (5 given)

module: stock_inventory_hierarchical
version: 8.0
Repo SHA: c869321

Steps to reproduce

  1. Install stock_inventory_hierarchical
  2. Create new inventory valuation

Current behavior
Exception raised:
Traceback (most recent call last):
File "/opt/odoo/odoo/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo/openerp/http.py", line 574, in dispatch
result = self._call_function(*_self.params)
File "/opt/odoo/odoo/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, *_kwargs)
File "/opt/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, _args, *_kwargs)
File "/opt/odoo/odoo/openerp/http.py", line 307, in checked_call
return self.endpoint(_a, *_kw)
File "/opt/odoo/odoo/openerp/http.py", line 803, in call
return self.method(_args, *_kw)
File "/opt/odoo/odoo/openerp/http.py", line 403, in response_wrap
response = f(_args, *_kw)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 884, in search_read
return self.do_search_read(model, fields, offset, limit, domain, sort)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 905, in do_search_read
request.context)
File "/opt/odoo/odoo/openerp/http.py", line 908, in proxy
result = meth(cr, request.uid, _args, *_kw)
File "/opt/odoo/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, _args, *_kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 5147, in search_read
result = self.read(cr, uid, record_ids, fields, context=read_ctx)
File "/opt/odoo/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, _args, *_kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3141, in read
result = BaseModel.read(records, fields, load=load)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, _args, *_kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3187, in read
values[name] = field.convert_to_read(record[name], use_name_get)
File "/opt/odoo/odoo/openerp/models.py", line 5574, in getitem
return self._fields[key].get(self, type(self))
File "/opt/odoo/odoo/openerp/fields.py", line 817, in get
self.determine_value(record)
File "/opt/odoo/odoo/openerp/fields.py", line 919, in determine_value
self.compute_value(recs)
File "/opt/odoo/odoo/openerp/fields.py", line 875, in compute_value
self._compute_value(records)
File "/opt/odoo/odoo/openerp/fields.py", line 867, in _compute_value
self.compute(records)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, _args, *_kwargs)
File "/opt/odoo/odoo/openerp/api.py", line 547, in new_api
result = method(self._model, cr, uid, self.ids, _args, *_kwargs)
TypeError: _complete_name() takes at least 6 arguments (5 given)

Expected behavior

No exception

Note
I could not reproduce it on runbot

stock_available should not ignores reserved quants afer all

It had escaped my attention but during the migration of stock_available, @gfcapalbo slightly changed the semantics : instead of basing computations on the virtual stock (= sum of quants - sum of future moves), we now use the sum of quants where reservation_id is False.

Now I doubt this is correct. For example, a quant could be reserved for an internal move, and we would still be able to promise it to customers.

Valuation modules could be moved to OCA/margin-analysis

The "margin-analysis" project already has work ongoing about standard price computation, which is used for stock inventory valuation.
I suggest the valuation modules in stock-logistics-warehouse should be handed to them to make it clearer.

RFC: Cycle Count in Odoo

Introduction

The purpose of this RFC is to define the design for a Cycle Count tool in Odoo.

Versions impacted: 8.0 and 9.0.

In order to design, we propose to use as reference the following article: http://www.tompkinsinc.com/wp-content/uploads/2012/06/WP-19_Cycle_Counting.pdf

Comments on functional requirements
Introduce here comments on the previous article.

Design in Odoo

Location(stock.location)

  • Acceptable Inventory Quantity Variance Threshold (what if this location contains multiple products? - perhaps it is a unitless field - could be mixing apples and oranges here)
  • Acceptable Inventory Quantity Variance Rate Threshold
  • Acceptable Inventory Cost Variance Threshold.
  • Acceptable Inventory Cost Variance Rate Threshold.
    Note: perhaps using variance rate is more useful.

Warehouse (stock.warehouse)

  • Applicable rules (cycle.count.rule)

Cycle Count Rule (cycle.count.rule)

This model will constitute the basis from which other modules will build upon, to create specific rules. Will be an abstract model.

Data model

Name
Warehouses (where it is applicable)

Method ‘compute’:

  • Input.
    Warehouse
  • Output. Produce a list of
    ** Required Date
    ** Location

Cycle Count Rule - minimum by location

This rule will allow to identify the next required cycle count for locations, considering a minimum number of times a SKU and/or location must be counted in a year to meet the criteria set by accountants.

Cycle Count Rule - Turnover inventory value

This rule will allow to identify the next required cycle count for locations, considering a threshold of turnover inventory value defined for a product and/or location. When the total value of items moved in/out from the date of last count of a product and location exceeds a threshold, this product/location should be counted again.

Cycle Count Rule - Moved quantity

This rule will allow to identify the next required cycle count for locations, considering a threshold of moved quantity defined for a location. When the total volume of items moved in/out from the date of last count of a product and location exceeds a threshold, this product/location should be counted again.

Cycle Count Rule - Accuracy level

This rule will allow to identify the next required cycle count for locations, considering the accuracy level defined on that location. If the past accuracy is low, the items should be counted more frequently.

The accuracy level, could be:

  • Cost variance rate threshold
  • Quantity variance rate threshold
  • Cost variance threshold
  • Quantity variance threshold

Then the compute method of this rule is run, all the locations should be selected

TODO: How do we measure and record accuracy on a location?

Cycle Count Queue generator

Identifies the rules applicable to the warehouse
Calls the method ‘compute’ for every rule
Obtains the earliest planned cycle count date (or for the defined cycle count planning horizon) for each location, based on the results of evaluating all the rules.
If there’s no Cycle Count already scheduled, it Creates Cycle Counts with the defined required date and location.
If there is a Cycle count pending, the new Cycle counts comes after the pending ones.

Cycle Count

Constitutes the basis for the Cycle Count queue. Cycle Counters should count items in inventory according to the planned cycle counts.

Data model

  • Location
  • Required Date
  • Assigned to (user)
  • Status (Planned, Execution, Cancelled, Done)
  • Cycle count rule (that it originated from), so that people know why was this cycle count proposed.

When a cycle count is started, an Inventory Adjustment is created of type ‘Scheduled Cycle Count’. The user will record the actual count in that Inventory Adjustment.
When the adjustment is validated the cycle count is Done.

Stock Inventory Adjustment (stock.inventory.adjustment)

Data model

  • Quantity Variance. Sum of the quantity for all inventory adjustment lines.(computed, stored field)
  • Quantity Variance Rate. Quantity Variance for all items / Total Quantity for all items on that location. (computed, stored field)
  • Cost Variance. Sum of the actual inventory variance for all inventory adjustment lines. (computed, stored field)
  • Cost Variance Rate (%). Cost Variance for all items / Total Cost for all items on that location. (computed, stored field)

Stock Inventory Adjustment Line (stock.inventory.adjustment.line)

Data model

  • Quantity Variance. Difference between the theoretical quantity and the actual quantity for all items of the inventory adjustment. (computed, stored field)
  • Cost Variance. Difference between theoretical and actual quantity, valued at the cost of the quants. (computed, stored field)
  • Cost Variance Rate (%). Cost Variance / Total Cost for that item and location. (computed, stored field)

Stock Move (stock.move)

When as a result of a stock move the quantity on hand for that product in the source location is 0 a new Inventory Adjustment of type ‘Zero Confirmation’ should be created for that source location and product.

Slot Verification Request (stock.slot.verification.request)

Are triggered when either a normal warehouse operation or a cycle counting operation uncovers a count discrepancy within a slot, and the discrepancy is greater than the pre-defined acceptable variance threshold.

Data model

  • Inventory Adjustment (where the discrepancy was identified)
  • Status
  • Assigned to

SKU Verification (stock.sku.verification.request)

Occur when the slot verification confirms that a count discrepancy exists and it is greater than the pre-defined acceptable variance threshold. The SKU verification process should be set up to logically sequence the slots being verified so that the slots with the highest probability of having the off setting inventory discrepancy are visited first.
WIP
Perhaps in this state we should help by providing to the user information of what are the locations that this location feeds to, based on the routes?

Inventory Adjustment (stock.inventory.adjustment)

Should add a new field ‘Count Type’ with values:

  • Scheduled Cycle Count
  • Zero Confirmation
    Should be exhaustive (all products inside the location). See module 'stock_inventory_exhaustive' in #155

When an inventory adjustment is in progress, it is not allows to move stock in or out of that location. See https://github.com/OCA/stock-logistics-warehouse/tree/8.0/stock_inventory_lockdown

When a discrepancy occurs for type ‘Scheduled Cycle Count’ and the variance is above the threshold, it should trigger a new ‘Slot Verification’.

When a discrepancy occurs for type ‘Zero Confirmation’ it should trigger a new ‘Slot Verification’ (regardless of the variance).
When an Inventory Adjustment is in progress no moves are allowed in/out of this location. See module: https://github.com/numerigraphe/stock-logistics-warehouse/tree/8.0-migrate-advanced-inventory2

Security

Security groups:

  • Cycle Counter: Can create Inventory Adjustments. Can post Inventory Adjustments, provided that the difference between the physical and system counts lies within the Acceptable Variance defined for this product.
  • Warehouse Operator: Can only create Inventory Adjustments of type ‘Zero Confirmation’. Can post Inventory Adjustments of this type, as long as the quantity in the system and the real quantity matches and it is 0. Is allowed to perform the usual stock transfers.
  • Inventory Control Specialist: Is allowed to conduct Slot and SKU Verifications. Allowed to create any Inventory Adjustment, but not post.
  • Inventory Control Manager: Is allowed to approve and post any inventory adjustments.

Outstanding Issues

  • In the reference document the Inventory Control Manager is the only one who can release into accounting the inventory adjustments. In Odoo just by posting the stock moves will create the accounting entries. We understand that the other roles should be able to post stock moves.

  • When you create an inventory adjustment for a parent location (e.g. WH/Stock) Odoo will propose the current on hand inventory of all child locations (e.g. stock in WH/Stock and WH/Stock/Shelf 1). But if we are to conduct cycle counts, each location should be counted only by means of the stock in that location, and not the children. In that case, we would expect that WH/Stock and WH/Stock/Shelf 1 would be counted separately, provided that WH/Stock and WH/Stock/Shelf 1 both have quantities on hand in their respective locations. In that case https://github.com/odoo/odoo/blob/8.0/addons/stock/stock.py#L2809 would need to be changed to include only the location that is being inventoried, not the children.

Bibliography

[1] http://www.tompkinsinc.com/wp-content/uploads/2012/06/WP-19_Cycle_Counting.pdf
[2] http://www.strategosinc.com/downloads/cycle_count_articles.pdf

stock_mts_mto_rule - How to use with products that have a Bom type =set

Hi Guys
I have installed this module and it works well for most product set up's , however I am trying now to get it working with products that have a BOM with type = set .
ie. product A has a Set BOM to pull qty 2 of product B,which has a Normal BOM . Stock can be held against product B, No stock is held against Product A.
so If I have an sale order for 10 of product A, with 5 in stock of product B.
I expect an MO for 15 of product B to get the 20 needed to satisfy the sale order
I have tried a number of combinations of route setting against the products.
but I always end up with MO for the Full order qty of 20 as if it is using MTO linked back to the sale order.

will this module work with Bom type set?

Any ideas of a route/procurement rules that will achieve this?

thanks in advance

Steve

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.