Low code web framework for real world applications, in Python and Javascript

Overview


a web framework with "batteries included"

it's pronounced - fra-pay

Full-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library. Built for ERPNext

Table of Contents

Installation

Contributing

  1. Code of Conduct
  2. Contribution Guidelines
  3. Security Policy
  4. Translations

Resources

  1. frappeframework.com - Official documentation of the Frappe Framework.
  2. frappe.school - Pick from the various courses by the maintainers or from the community.

License

This repository has been released under the MIT License.

Comments
  • Frappe Chat 2.0 Features & Issues

    Frappe Chat 2.0 Features & Issues

    ToDo

    • [x] Goofed up. DocField migration. 😢
    • [ ] Mobile Scrolling does not occur on Mobile.
    • [x] Browser issues?
    • [ ] If scrolling on top, don't make it bottom.
    • [ ] Chat Message and Room Deletion Cases
    • [ ] Close Chat Popper on Reference Click (Only for Mobile)
    • [x] Fix Full Width Borders
    • [ ] Deleting a User should also delete its Chat Profile. Or should we keep dead references?
    • [ ] ~~Username Should be mandatory~~.
    • [ ] UI Testing
    • [ ] Docs and DocStrings
    • [ ] Notifications (Unread Message Notifications) + Unread Count.
    • [x] Figure Out List Scrollable CSS on Panel Widget.
    • [x] Namespace Components not Panels (Not Required, used LESS selector).
    • [x] Quick Assign and Share within Chat Window.
    • [x] Track Seen (Refer to _seen from Doc)
    • [x] Mobile First and Responsive.
    • [ ] Attachments (Camera and Files).
    • [ ] Emojis
    • [ ] ~~Draggable across Screen Corners (Important, to enable system interaction).~~
    • [x] Destroy Chat Object to re-render.
    • [x] Message Ring.
    • [x] ~~CheckList on Select Users for Group.~~ (Such a good Feature, Not sure why it hasn't been merged yet).
    • [ ] Visitor Handling
    • [x] Show Chat Room List that only has session.user in it.
    • [ ] Make Chat Room pagination configurable.
    • [ ] Only Owners can edit the DocType Record. (Chat Room)
    • [x] Scroll Chat to Bottom
    • [ ] Direct Room between one-2-one must render.
    • [x] Figure out throttle time for chat and typing statuses. This is important to also check last seens and online.
    • [x] ONE LINE ELLIPSES FOR RoomList
    • [x] Chek Firefox Socket Throttling.
    • [ ] BUG - Group can have 0 members.
    Related Issues
    • [x] Chat Profile error based on User Permissions #4711
    • [x] #4719
    • [x] #4766
    • [x] #4768 @creamdory

    Changes by Rushabh

    • [x] Margin on Input
    • [x] Shadow of FAB same as Desktop Icon
    • [x] Increase Height of Popper ChatForm (Padding within TextView Composer)
    • [x] Empty state add Start Chat (within Chat Popper)
    • [ ] Avboid Events within Page
    • [x] panel-default for Chat Form Header
    • [x] FAB shouldn't be primary.
    • [x] Chat Background (new section, collapse it).
    • [x] ~~Remove Help, add Chat instead.~~ (Reverted)
    • [x] Configure FAB with navbar instead.
    • [x] align list and search bar to left.
    • [ ] Find out a way to trigger User updates.
    • [x] Make drop shadow like Modal
    • [x] Panel not be Primary (+ should not be primary)
    • [x] Search on Top
    • [x] ~~Darker Panel Top~~
    • [x] Chat Bubble Little. Looks for Telegram iPhone like feel
    • [ ] Cache Rooms and Messages for Quick Pull.
    • [ ] Make Navbar Icon Toggle active on click.
    • [ ] Leave Group (And which component would be best?)

    Changes by Faris

    • [x] Click anywhere outside chat to close
    • [x] Menu group btn instead of close button
    • [ ] Handle 404 images

    Changes by Saurabh

    • [ ] Handle notifications when closed. Better UI?

    Changes by Raghu

    • [ ] When someone mentions a user just show username with may be bold font, don't show whole email id.
    • [ ] create good default user permissions so that users can check each other profile.
    • [ ] Should we disable conversation tones by default? most of the users will be working in corporate setting so it may be a bit annoying.
    • [ ] Feature request for quoted reply.[ if possible editable quotes]
    • [ ] Just a wild feature request, can we integrate sms alerts, for a scenarios when one user wants to send sms directly from the chat to another if he is offline.
    • [ ] Reduce 1s or 2 s delay in chat appearing in the widget after sending
    • [ ] Do not change html title of the page (see comment below for screenshot)
    • [ ] Add Keyboard navigation(up and down arrow for selecting in list) after searching for user.
    • [x] Instead (or in addition to) of showing new button, can we have ability to insert multiple users in a coma separated list (example in email or in some tagging UI, pressing tab can help in completing the name. In case there are multiple names it should be a group chat and vice versa.
    • [x] ~~Permission Issue when checking out other user's profile, I think default should have some form of basic view - last seen, profile picture, post in the company, status etc~~
    • [ ] Add markdown support.
    • [ ] More complete emoji collection, current one doesn't have tones, also tab completion and keyboard navigation of the suggestion list.
    • [x] ~~Ability to mail oneself his chat history with others (needs discussion, can be based on permission given by admin)~~ (Can be achieved via reports).

    Issues by Kenneth

    • [ ] https://github.com/frappe/frappe/issues/5120
    • [ ] #4852 - Chat window jumping on typing status
    • [x] Lower the volume of "Chat sent" sound or change the sound to something softer like a tick http://soundbible.com/2044-Tick.html
    • [ ] Add Web Push Notification. Current notification only works if the user is in the same window. If the user is in the current window, the sound is the only way to attract his/her attention. Rather add a web notification to enhance the UX.
    • [ ] embed links/website preview

    Changes by Shreya

    • [x] Stop the webcam after camera dialog is closed.

    Chat Features integrated from Frappe Chat 1.0

    Issues by Umair

    • [ ] DocType references
    • [ ] Attachments

    Issues by Ameya

    • [ ] Send toast, but dont send message if not online

    Website Chat

    frappe-chat 
    opened by achillesrasquinha 45
  • feat: generic oauth client

    feat: generic oauth client

    Please check #9722 for an explanation.

    Based on https://github.com/DigiThinkIT/oauth2_client

    Todo

    • [x] Use Web Application Flow to not reinvent the wheel.
    • [x] Integration test against Google
    • [x] Integration test against Frappe
    • [x] Extract method update_token_cache(token_cache, token_data)
    • [x] Fix logout on redirect (#11035)
    • [x] Accept and save a custom redirect URI in Token Cache where the user is sent finally, after storing the access token.
    • [x] ~~Add base_url to Connected App to use it later with rauth_session.get('/oauth/profile').~~ (Not supported by requests_oauthlib.)
    • [x] redirect to #workspace instead of #desktop https://github.com/frappe/frappe/blob/e4928e5bf689d20fc06596ee2070b47f534c0436/frappe/utils/oauth.py#L309
    • [x] access_token and refresh_token should be Password fields.
    • [x] Save only the granted scopes.
    • [x] Tests
    • [x] Add a test for backend application flow
    • [x] add a method to get an authenticated requests session.
    • [x] Find a solution for non-standardized token revocation. Maybe don't revoke at all?
    • [x] Docs
    • [x] Separate PR for https://github.com/frappe/frappe/pull/11000/commits/277b082d15976b59cd610efeea997146af8092d8 (#11066)
    • [x] Separate PR for https://github.com/frappe/frappe/pull/11000/commits/6a482d152759d73ee1aef3525f2b6c496548207b (#11065)

    Related Issues

    #11038 #11039 #11269 #11982

    Documentation: https://github.com/frappe/frappe_docs/pull/67 Close #9722

    opened by barredterra 36
  • feat: Tab Break fieldtype

    feat: Tab Break fieldtype

    https://user-images.githubusercontent.com/19775888/118644959-f4670a80-b7fb-11eb-81b1-93f7c6e10ee0.mov

    Desktop view Screenshot 2021-09-21 at 4 49 00 PM

    Mobile view Screenshot 2021-09-21 at 4 54 11 PM

    • [x] Tests
    • [x] Tab focus across tabs
    • [x] Docs: https://github.com/frappe/frappe_docs/pull/207
    opened by prssanna 35
  • fix: set translated text to link field

    fix: set translated text to link field

    • Fixes Issue/15324
    • When selecting a value for Link Field, the English text was set as link field value.
    • This PR aims to fix it by setting the translated text as link field value on selection.

    Todo:

    • [x] Show translated text in the select dropdown
    • [x] Set translated value to Link field on select
    • [x] Show original value when link field is in focus
    • [x] Add option to toggle this behaviour

    Behaviour

    • Link field loses focus: show the translated name.
    • Link field is focused
      • If old value is present
        • If options are one of [Role, DocType]: show the translated name
        • Else: show the name (untranslated) to enable search in untranslated values
      • Else: show what the user typed (untranslated) to enable search in untranslated values
    • Value is selected: link field loses focus

    Demo

    Link to UOM in a custom Item DocType

    The UOM names are in english, so the search needs to happen in english. When possible, the translation is displayed.

    Before

    https://user-images.githubusercontent.com/14891507/156415248-e5e80d05-53dc-4ca8-89c7-998986ff6e99.mov

    After

    https://user-images.githubusercontent.com/14891507/156410386-a874430c-f340-43ed-9c3a-92e8d4d50fc9.mov

    Link to DocType in Customize Form

    The DocType names get translated before being searched. This is a preexisting hack in the framework for DocType and Role. In this case, we can search in the translations.

    Before

    https://user-images.githubusercontent.com/14891507/156414648-8e505f8c-9dee-4358-8182-3b358c28bb62.mov

    After

    https://user-images.githubusercontent.com/14891507/156411881-c4ca22e1-1397-4e13-9768-5e16b72f8d6d.mov

    https://docs.erpnext.com/docs/v13/user/manual/en/customize-erpnext/customize-form/edit?wiki_page_patch=fdafee2715

    squash 
    opened by hrwX 31
  • feat: Optionally sync multiple IMAP folders in `Email Account`

    feat: Optionally sync multiple IMAP folders in `Email Account`

    If users use sieve filters in their email account and store new mail in subfolders, or manually sort new mails faster than Frappe polls the INBOX, then Frappe/ERPnext should be able to synchronize those subfolders as well. The user should be able to configure which folders are synced. The default should still be INBOX.

    Created a new child table IMAP Folder with following fields: Label | Fieldname | Fieldtype | Option | Field Setting --- | --- | --- | --- | --- Folder Name | folder_name | Data | | in gridview Append To | append_to | Link | DocType | in gridview UIDVALIDITY | uidvalidity | Data | | hidden UIDNEXT | uidnext | Int | | hidden

    Doctype Email Account and receive.py code adjusted so that the emails with the changes are processed correctly and Frappe only logs in to IMAP once per sync.

    Created a patch that copies the data from the old fields into the new child table with INBOX as default folder_name. This keeps existing setups working without manual changes.

    Removed old fields (Append To; UIDVALIDITY; UIDNEXT) from the Email Account doctype, because these fields are needed for each given folder in the childtable.

    All tests still are successfull.

    imap_folder_table_example

    Docs:

    docu-pr: https://github.com/frappe/frappe_docs/pull/135

    opened by mtraeber 31
  • feat: Add map view on sidebar

    feat: Add map view on sidebar

    Please provide enough information so that others can review your pull request:

    This pull request provide MapView that allow to show some doctypes on Leaflet Map. If some doctype have latitude and longitude fields, you can not initialize any custom function to represent doctypes on map.

    Explain the details for making this change. What existing problem does the pull request solve?

    Map view allow represent some doctypes on map view(for example organizations, companies or places). I interviewed 2 companies that use frappe and they said, that it could be very necessery feature for them.

    Screenshots/GIFs

    loca

    #11163

    fix-sider-issues 
    opened by AminovE99 29
  • feat: configurable default views

    feat: configurable default views

    • The views for a doctype are not configurable by the user, ie if I want the framework to always route the user to the kanban view by default, the framework doesn't allow that.
    • This PR tries to address that by adding a configurable selector for the view to be displayed.
    • The doctype won't default to ListView but route to the default view from meta.
    • This will remove the need for maintaining treeviews and calendars in the boot, and will be handled directly from doctype meta.
    • image
    • image

    https://docs.erpnext.com/docs/v13/user/manual/en/customize-erpnext/customize-form/edit?wiki_page_patch=194596b062

    squash backport version-14-hotfix 
    opened by hrwX 26
  • Multilingual

    Multilingual

    @rmehta, this is the changes that we have made in Frappe, to enable the multi-lingual system in frappe.

    That changes are so small, but powerfull, we are able to ensure that the most important places where the languages are needed are touched by the translation.

    Like

    Document Prints Communications Web-Site pages

    Anything else that is rendered by jinja, can be affected by the translation in a good way.

    This, are the primary changes for the frappe core. We have one visual improvement, to include in frappe, to better manage the translations

    Right now, it's in an separated app, due I have some doubts, that I need to be guided!

    One of the doubts, are about the code itself, you think has something wrong with that. Another thing is about, that I need some guide with the tests.

    The app to manage visually the translation can be found here https://github.com/Aptitudetech/translate

    In that app, I have some global hooks to onload methods, I need to know where I can put it in the frappe.model.document, to ensure that it will be used by the user interface.

    opened by MaxMorais 26
  • feat(controldate): quickbooks date hotkeys added to date controls

    feat(controldate): quickbooks date hotkeys added to date controls

    Please provide enough information so that others can review your pull request:

    Many users of Quickbooks are used to the shortcuts included with their date inputs. This extends the previously implemented T shortcut functionality,

    Explain the details for making this change. What existing problem does the pull request solve?

    Quickbooks users will enjoy familiarity as they browse through reports. Frappe already incorporates many shortcuts, so this change would enrich snappy experience. The following hotkeys were added in addition to T:

    • W - First Day of the W eek
    • K - Last Day of the Wee k
    • M - First Day of the M onth
    • H - Last Day of the Mont h
    • Y - First Day of the Y ear
    • R - Last Day of the Yea r
    • + - Next day
    • - - Previous day

    A light hotkey framework was built within the ControlDate class to improve readability and minimize redundancy. Event dispatching and event handler registration is commented in the code as well as this PR. In short, the hotkeys class object in ControlDate specify event handlers for different Key Codes and different fieldtypes. Event handlers can be reused as seen in the example below.

    A hotkeys class Object has been added with the following format:

    hotkeys = {
      // // <keycode explanatory comment>
      // <keyCode>: {
      //		'<fieldtype>': function(control_instance) { ... }
      //				OR
      //		'<fieldtype>': '<other set fieldtype>'
      // },
      //
      //				OR
      //
      // // <keycode explanatory comment>
      // <keyCode>: <other set keyCode>,
      //
      // 84 === 't' - (t)oday
      84: {
        'Date': function(control) {
          control.set_value(frappe.datetime.nowdate());
        },
        'Datetime': function(control) {
          control.set_value(frappe.datetime.now_datetime());
        },
        'Time': function(control) {
          control.set_value(frappe.datetime.now_time());
        }
      },
      //
      // ...
      //
      // Reusability example:
      //
      // 109 === numpad '-' - Previous Day
      109: {
        'Date': function(control) {
          control.set_value(frappe.datetime.subtract_days(control.get_value(), 1));
        },
        'Datetime': 'Date', // reuse the already defined handler for fieldtype 'Date'
      },
      // 173 === '-'
      173: 109, // reuse the already defined handler for key 109 (or numpad '-')
    };
    

    This is a drop-in replacement for set_t_for_today()


    In order to provide some of the functionality, the datetime module needed to be further specialized to avoid implementing momentjs within the control. No breaking changes are part of this; In short, more specific *_start and *_end methods were added, specifying *_start_of (e.g. month_end_of). Previously implemented methods call *_start_of with a null parameter, just as if moment() was called as before.

    Screenshots/GIFs

    qb-datecontrol

    inactive 
    opened by kevinpthorne 25
  • feat: Improve LDAP implementation to be standards compliant

    feat: Improve LDAP implementation to be standards compliant

    Full proposal can be found in issue frappe/frappe#13738

    | :link: Related Items | |:----------------------------------| | Proposal: frappe/frappe#13738
    PR: frappe/frappe#13777 | | :book: Documentation | | ERPNext: PR frappe/erpnext_documentation#376
    Frappe: PR frappe/frappe_docs#168 |

    PR Tasks

    • [x] All Tests Passing
    • [x] Development complete (OP to tick as appropriate)
    • [x] Documentation update - issues/PR submitted
    • [x] All tasks in frappe/frappe#13738 complete

    docs: https://github.com/frappe/frappe_docs/pull/168

    opened by jon-nfc 25
  • feat: kanban filters

    feat: kanban filters

    • Shows list filters for kanban board.

    Bildschirmfoto 2022-07-09 um 12 54 00 Peek 2022-07-11 11-07

    The normal list view has default filters and sorting. For kanban view, this was lacking. Our customer wants to use Kanban heavily, but would appreciate the same filtering and sorting options like in list view. – @barredterra

    no-docs

    squash add-test-cases backport version-13-hotfix backport version-14-hotfix 
    opened by hrwX 24
  • fix(user profile): fix user profile queries to support postgresql

    fix(user profile): fix user profile queries to support postgresql

    Problems:

    • When loading user profile it calls function get_user_rank it contain two queries which group records by user in case of postgres the field user is capitalized into 'USER' making it a different field than the one selected as in the following Image: rank_function_postgres
    • In get_energy_points_heatmap_data function unix_timestamp, subdate don't exist in postgresql.

    Solutions:

    • Include the table name with the user field so it wont be capitalized by postgresql engine.
    • replace unix_timestamp function with epoch in case of postgresql.
    • remove subdate and used INTERVAL directly in case of postgresql.
    add-test-cases 
    opened by AHasanin 1
  • simplify frappe/permissions.py raise_exception assignment

    simplify frappe/permissions.py raise_exception assignment

    Please provide enough information so that others can review your pull request:

    Explain the details for making this change. What existing problem does the pull request solve?

    Screenshots/GIFs

    add-test-cases 
    opened by jiangying000 0
  • v14 - Only default Letter head printing on PDF

    v14 - Only default Letter head printing on PDF

    erpnext 14.12.0 frappe 14.21.1 hrms 1.0.0 payments 0.0.1

    v14 - Only default Letterhead printing on PDF, regarless of the ltterhead user selected. Normal printing works flawlessly. If no default letterhead is selected, the letterhead does not appear at all on PDF.

    Tested with many doctypes, including sales invoice, quotation, leads etc. Same issue everywhere. ALso tested on multiple instances

    wkhtmltopdf version is 0.12.6. and tested on Ubuntu 20+ and 22+

    Please check

    bug 
    opened by fkalpana 0
  • fix: Hide delete button for standard workspace if not in developer_mode (backport #19510)

    fix: Hide delete button for standard workspace if not in developer_mode (backport #19510)

    This is an automatic backport of pull request #19510 done by Mergify.


    Mergify commands and options

    More conditions and actions can be found in the documentation.

    You can also trigger Mergify actions by commenting on this pull request:

    • @Mergifyio refresh will re-evaluate the rules
    • @Mergifyio rebase will rebase this PR on its base branch
    • @Mergifyio update will merge the base branch into this PR
    • @Mergifyio backport <destination> will backport this PR on <destination> branch

    Additionally, on Mergify dashboard you can:

    • look at your merge queues
    • generate the Mergify configuration with the config editor.

    Finally, you can contact us on https://mergify.com

    opened by mergify[bot] 0
  • Translations dutch (nl)

    Translations dutch (nl)

    Hi Guys,

    Great work! I just upgraded from v13 and found noumerous translation errors with my team.

    We have made a few in https://translate.erpnext.com/app/translation in the verify translation workspace but i was wondering if they are picked up if we also change the translated string, source (to community) and status (to verified) ?

    if so i will let my team make al the correct changes then and we can really contribute.

    Happy to hear from you guys.

    bug 
    opened by RJPvT 1
Releases(v14.21.1)
  • v14.21.1(Jan 4, 2023)

    14.21.1 (2023-01-04)

    Bug Fixes

    • Allow everyone to read geo data (#19451) (#19457) (54eecce)
    • build_response for re.Match (#19442) (c3729c7)
    • don't set default in list view for fields not allowed (373234d)
    • link/js: handle undefined link_title_doctypes in frappe.boot (#19398) (#19402) (f314e58)
    • only allow system manager to create email templates (f46a649)
    • prevent emails from being queued multiple times (#19386) (#19454) (21b84a4)
    • show document title instead of name in like notification email subject (41af70d)
    • socketio: Event list_update > doctype_subscribe (backport #19422) (#19432) (4529e6d)
    • test: override fields of test doctype if passed (8a86a8c)
    • use title instead of name in message body too (5878b53)
    Source code(tar.gz)
    Source code(zip)
  • v13.46.3(Jan 4, 2023)

  • v14.21.0(Dec 27, 2022)

    14.21.0 (2022-12-27)

    Bug Fixes

    • Allow emailing disabled user (#19382) (#19383) (fb7f645)
    • error snapshot: fix seen update qeury in error snapshot to work with postgres (#19373) (#19374) (0ab6a30)
    • minor: dont set autoincrement autoname by default for child table (8ff3f4c)
    • not able to make delivery note from pick list (#19418) (#19420) (d2d776c)
    • shift-select checkboxes ranges (#19367) (#19368) (bd79b03)
    • subscription: Allow remote_login even if subscription.expiry is not set (1d777dc)

    Features

    Source code(tar.gz)
    Source code(zip)
  • v13.46.2(Dec 27, 2022)

  • v14.20.0(Dec 20, 2022)

    What's Changed

    • fix: sort prepared report filter keys by @ankush in https://github.com/frappe/frappe/pull/19267
    • fix: in web form if print format is empty getting error (backport #19269) by @mergify in https://github.com/frappe/frappe/pull/19271
    • refactor: scheduler without external libraries (backport #18331) by @mergify in https://github.com/frappe/frappe/pull/19273
    • fix(UI): if grid custom button is not set grid has some extra space on top (backport #19280) by @mergify in https://github.com/frappe/frappe/pull/19282
    • fix: handle HTML Code fieldtype's has_content (backport #19286) by @mergify in https://github.com/frappe/frappe/pull/19294
    • feat: add parameters language and letter_head to download_pdf (backport #19284) by @mergify in https://github.com/frappe/frappe/pull/19295
    • fix(trim-database): Dont act on non-frappe tables (backport #19292) by @mergify in https://github.com/frappe/frappe/pull/19298
    • fix: duplicate unique indexes (backport #19291) by @mergify in https://github.com/frappe/frappe/pull/19297
    • fix: use stricter regex for sanitize_searchfield (backport #19277) by @mergify in https://github.com/frappe/frappe/pull/19303
    • refactor: html2text and fix diff render (backport #19193) by @mergify in https://github.com/frappe/frappe/pull/19314
    • fix: db ssl connection (backport #19308) by @mergify in https://github.com/frappe/frappe/pull/19339
    • fix: dont share with self for standard users (backport #19327) by @mergify in https://github.com/frappe/frappe/pull/19338
    • fix: allow zero page length in get_list to return complete list (backport #19322) by @mergify in https://github.com/frappe/frappe/pull/19341
    • feat: fields for attaching (html) meta tags in web form (backport #19306) by @mergify in https://github.com/frappe/frappe/pull/19307
    • build: bump pyyaml (backport #19331) by @mergify in https://github.com/frappe/frappe/pull/19342
    • fix(workflow): Remove docstatus field from get_workflow_state_count (backport #19332) by @mergify in https://github.com/frappe/frappe/pull/19344
    • fix: better check of whether doctype is child table (backport #19329) by @mergify in https://github.com/frappe/frappe/pull/19343
    • fix: restore missing helpful and not_helpful fields to help article doctype. (backport #19309) by @mergify in https://github.com/frappe/frappe/pull/19316
    • perf: reuse _doc_before_save in doc.get_latest (backport #19326) by @mergify in https://github.com/frappe/frappe/pull/19346
    • fix: postgres query (backport #19357) by @mergify in https://github.com/frappe/frappe/pull/19359
    • fix: datepicker not working for arabic language (backport #19358) by @mergify in https://github.com/frappe/frappe/pull/19361
    • fix(postgres): psql with remote databases (backport #19362) by @mergify in https://github.com/frappe/frappe/pull/19366

    Full Changelog: https://github.com/frappe/frappe/compare/v14.19.1...v14.20.0

    Source code(tar.gz)
    Source code(zip)
  • v13.46.1(Dec 20, 2022)

    13.46.1 (2022-12-20)

    Bug Fixes

    Performance Improvements

    Source code(tar.gz)
    Source code(zip)
  • v14.19.1(Dec 13, 2022)

  • v14.19.0(Dec 13, 2022)

    14.19.0 (2022-12-13)

    Bug Fixes

    Features

    Performance Improvements

    Source code(tar.gz)
    Source code(zip)
  • v13.46.0(Dec 13, 2022)

    13.46.0 (2022-12-13)

    Bug Fixes

    Features

    Performance Improvements

    Source code(tar.gz)
    Source code(zip)
  • v14.18.1(Dec 8, 2022)

  • v13.45.3(Dec 7, 2022)

    13.45.3 (2022-12-07)

    Bug Fixes

    Source code(tar.gz)
    Source code(zip)
  • v14.18.0(Dec 6, 2022)

    14.18.0 (2022-12-06)

    Bug Fixes

    Features

    Source code(tar.gz)
    Source code(zip)
  • v13.45.2(Dec 1, 2022)

  • v14.17.1(Nov 30, 2022)

  • v14.17.0(Nov 29, 2022)

    14.17.0 (2022-11-29)

    Bug Fixes

    Features

    Source code(tar.gz)
    Source code(zip)
  • v13.45.1(Nov 29, 2022)

  • v14.16.0(Nov 22, 2022)

    What's Changed

    • fix(File): validate attached_to_* when saving (backport #18880) by @mergify in https://github.com/frappe/frappe/pull/18882
    • refactor: Use safer hashing algorithm for verified_command (backport #18848) by @mergify in https://github.com/frappe/frappe/pull/18883
    • fix: dont convert row format if not required (backport #18900) by @mergify in https://github.com/frappe/frappe/pull/18901
    • fix: check permission in discussions component (backport #18903) by @mergify in https://github.com/frappe/frappe/pull/18905
    • perf: dont fetch meta unless required (backport #18907) by @mergify in https://github.com/frappe/frappe/pull/18908
    • fix(file): attached_to_name can be an integer (backport #18909) by @mergify in https://github.com/frappe/frappe/pull/18911
    • fix: grid column indicators not working (backport #18913) by @mergify in https://github.com/frappe/frappe/pull/18915
    • build: pin pyopenssl by @ankush in https://github.com/frappe/frappe/pull/18918
    • refactor: Socket.IO (backport #18875) by @mergify in https://github.com/frappe/frappe/pull/18924
    • fix: Force integer type in request.max_content_length (backport #18904) by @mergify in https://github.com/frappe/frappe/pull/18931
    • fix: ignore unpicklable hooks (backport #18902) by @mergify in https://github.com/frappe/frappe/pull/18932
    • fix: get_title must return string (backport #18926) by @mergify in https://github.com/frappe/frappe/pull/18935
    • fix: update-password api call (backport #18943) by @mergify in https://github.com/frappe/frappe/pull/18953
    • fix: show fields without labels in print format builder (backport #18939) by @mergify in https://github.com/frappe/frappe/pull/18955
    • feat(minor): redirect after login from NotPermittedPage (backport #18946) by @mergify in https://github.com/frappe/frappe/pull/18956
    • fix: Clearer webform error (backport #18945) by @mergify in https://github.com/frappe/frappe/pull/18957
    • fix: only get fields which is not already in webform fields table (backport #18960) by @mergify in https://github.com/frappe/frappe/pull/18961
    • fix: added phone field in webform (backport #18962) by @mergify in https://github.com/frappe/frappe/pull/18963
    • fix(file): set fieldname to table fieldname (backport #18965) by @mergify in https://github.com/frappe/frappe/pull/18970
    • chore: release v14 by @frappe-pr-bot in https://github.com/frappe/frappe/pull/18972

    Full Changelog: https://github.com/frappe/frappe/compare/v14.15.0...v14.16.0

    Source code(tar.gz)
    Source code(zip)
  • v13.45.0(Nov 22, 2022)

    What's Changed

    • fix(File): validate attached_to_* when saving (backport #18880) by @mergify in https://github.com/frappe/frappe/pull/18881
    • refactor: Use safer hashing algorithm for verified_command (backport #18848) by @mergify in https://github.com/frappe/frappe/pull/18885
    • fix: dont allow reading attributes of unsafe objects (backport #18706) by @mergify in https://github.com/frappe/frappe/pull/18884
    • refactor(minor): get_permissions API (backport #17320) by @mergify in https://github.com/frappe/frappe/pull/18912
    • refactor!: Socket.IO [v13] by @gavindsouza in https://github.com/frappe/frappe/pull/18934
    • fix: update-password api call (backport #18943) by @mergify in https://github.com/frappe/frappe/pull/18952
    • fix: show fields without labels in print format builder (backport #18939) by @mergify in https://github.com/frappe/frappe/pull/18954
    • fix(file): set fieldname to table fieldname (backport #18965) by @mergify in https://github.com/frappe/frappe/pull/18969

    Full Changelog: https://github.com/frappe/frappe/compare/v13.44.0...v13.45.0

    Source code(tar.gz)
    Source code(zip)
  • v14.15.0(Nov 15, 2022)

    14.15.0 (2022-11-15)

    Bug Fixes

    Features

    Performance Improvements

    Reverts

    • async await in breadcrumbs.js (6a1e619)
    Source code(tar.gz)
    Source code(zip)
  • v13.44.0(Nov 15, 2022)

  • v14.14.3(Nov 8, 2022)

    14.14.3 (2022-11-08)

    Bug Fixes

    Performance Improvements

    • load _doc_before_save sooner to avoid DB call in check_if_latest (#18666) (2710d08)
    Source code(tar.gz)
    Source code(zip)
  • v13.43.2(Nov 8, 2022)

    What's Changed

    • fix: show 0 for empty currency, float, & duration fields in list view (backport #18708) by @mergify in https://github.com/frappe/frappe/pull/18710
    • fix: not able to click checkbox in file grid view (backport #18712) by @mergify in https://github.com/frappe/frappe/pull/18714
    • perf: ensure cache works for non_standard_user_types when empty (backport #18665) by @mergify in https://github.com/frappe/frappe/pull/18744
    • fix: don't translate default argument by @barredterra in https://github.com/frappe/frappe/pull/18760
    • fix: module 'frappe' has no attribute 'build' by @barredterra in https://github.com/frappe/frappe/pull/18761
    • fix: send all messages on boot instead of scanning by @barredterra in https://github.com/frappe/frappe/pull/18764
    • fix: translations (backport #18765) by @mergify in https://github.com/frappe/frappe/pull/18781

    Full Changelog: https://github.com/frappe/frappe/compare/v13.43.1...v13.43.2

    Source code(tar.gz)
    Source code(zip)
  • v14.14.2(Nov 4, 2022)

  • v14.14.1(Nov 3, 2022)

  • v13.43.1(Nov 3, 2022)

  • v14.14.0(Nov 1, 2022)

    14.14.0 (2022-11-01)

    Bug Fixes

    Features

    • add video conferencing option (Google Meet) to Google Calendar integration (backport #17851) (#18456) (b04a54c)
    • support list view for "show titles instead of name" (#18060) (#18681) (64c2555)

    Performance Improvements

    Reverts

    • Revert "fix: use is_file_path_valid instead of is_safe_path (#18316) (#18642)" (#18696) (a08c029), closes #18316 #18642 #18696
    Source code(tar.gz)
    Source code(zip)
  • v13.43.0(Nov 1, 2022)

  • v14.13.0(Oct 25, 2022)

    14.13.0 (2022-10-25)

    Bug Fixes

    • consider now datetime if the default value is now for datetime field (b42013c)
    • delete custom tables when doctype is deleted (#18433) (#18471) (cb4d825)
    • dont db_set on unsaved document (798206c)
    • frappe.client: delete child doc via parent (8806eae)
    • google calendar sync times (system tz) (#18458) (#18459) (871415a)
    • Improve Translation on To Do list view (#18484) (ddec3e0)
    • map view doesnt open (#18487) (ed54235)
    • minor: consider lowercase value for comparision in set_formatted_input for datetime field (a190830)
    • only execute generator if value is not found in redis cache (#18472) (#18479) (342edb7)
    • raise error if child doc not found (0dcf5e6)
    • validate website settings (#18446) (#18469) (9e29a94)

    Features

    Source code(tar.gz)
    Source code(zip)
  • v13.42.0(Oct 25, 2022)

  • v14.12.0(Oct 18, 2022)

    14.12.0 (2022-10-18)

    Bug Fixes

    Features

    Performance Improvements

    Source code(tar.gz)
    Source code(zip)
Sanic integration with Webargs

webargs-sanic Sanic integration with Webargs. Parsing and validating request arguments: headers, arguments, cookies, files, json, etc. IMPORTANT: From

Endurant Devs 13 Aug 31, 2022
Web3.py plugin for using Flashbots' bundle APIs

This library works by injecting a new module in the Web3.py instance, which allows submitting "bundles" of transactions directly to miners. This is do

Flashbots 293 Dec 31, 2022
Quiz Web App with Flask and MongoDB as the Databases

quiz-app Quiz Web Application made with flask and mongodb as the Databases Before you run this application, change the inside MONGODB_URI ( in config.

gibran abdillah 7 Dec 14, 2022
Flask-Potion is a RESTful API framework for Flask and SQLAlchemy, Peewee or MongoEngine

Flask-Potion Description Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. Potion features include validation, model resource

DTU Biosustain 491 Dec 08, 2022
Async Python 3.6+ web server/framework | Build fast. Run fast.

Sanic | Build fast. Run fast. Build Docs Package Support Stats Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allow

Sanic Community Organization 16.7k Dec 28, 2022
The Python micro framework for building web applications.

Flask Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to co

The Pallets Projects 61.5k Jan 06, 2023
A Simple Kivy Greeting App

SimpleGreetingApp A Simple Kivy Greeting App This is a very simple GUI App that receives a name text input from the user and returns a "Hello" greetin

Mariya 40 Dec 02, 2022
O SnakeG é um WSGI feito para suprir necessidadades de perfomance e segurança.

SnakeG O SnakeG é um WSGI feito para suprir necessidadades de perfomance e segurança. Veja o que o SnakeG possui: Multiprocessamento de requisições HT

Jaedson Silva 1 Jul 02, 2022
Fast, asynchronous and elegant Python web framework.

Warning: This project is being completely re-written. If you're curious about the progress, reach me on Slack. Vibora is a fast, asynchronous and eleg

vibora.io 5.7k Jan 08, 2023
Ape is a framework for Web3 Python applications and smart contracts, with advanced functionality for testing, deployment, and on-chain interactions.

Ape Framework Ape is a framework for Web3 Python applications and smart contracts, with advanced functionality for testing, deployment, and on-chain i

ApeWorX Ltd. 552 Dec 30, 2022
Microservice example with Python, Faust-Streaming and Kafka (Redpanda)

Microservices Orchestration with Python, Faust-Streaming and Kafka (Redpanda) Example project for PythonBenin meetup. It demonstrates how to use Faust

Lé 3 Jun 13, 2022
Asynchronous HTTP client/server framework for asyncio and Python

Async http client/server framework Key Features Supports both client and server side of HTTP protocol. Supports both client and server Web-Sockets out

aio-libs 13.2k Jan 05, 2023
WebSocket and WAMP in Python for Twisted and asyncio

Autobahn|Python WebSocket & WAMP for Python on Twisted and asyncio. Quick Links: Source Code - Documentation - WebSocket Examples - WAMP Examples Comm

Crossbar.io 2.4k Jan 06, 2023
Lemon is an async and lightweight API framework for python

Lemon is an async and lightweight API framework for python . Inspired by Koa and Sanic .

Joway 29 Nov 20, 2022
Online Boutique is a cloud-native microservices demo application

Online Boutique is a cloud-native microservices demo application. Online Boutique consists of a 10-tier microservices application. The application is

Matt Reider 1 Oct 22, 2021
A beginners course for Django

The Definitive Django Learning Platform. Getting started with Django This is the code from the course "Getting Started With Django", found on YouTube

JustDjango 288 Jan 08, 2023
Full duplex RESTful API for your asyncio web apps

TBone TBone makes it easy to develop full-duplex RESTful APIs on top of your asyncio web application or webservice. It uses a nonblocking asynchronous

TBone Framework 37 Aug 07, 2022
Serverless Python

Zappa - Serverless Python About Installation and Configuration Running the Initial Setup / Settings Basic Usage Initial Deployments Updates Rollback S

Rich Jones 11.9k Jan 01, 2023
Web APIs for Django. 🎸

Django REST framework Awesome web-browsable Web APIs. Full documentation for the project is available at https://www.django-rest-framework.org/. Fundi

Encode 24.7k Jan 03, 2023
Appier is an object-oriented Python web framework built for super fast app development.

Joyful Python Web App development Appier is an object-oriented Python web framework built for super fast app development. It's as lightweight as possi

Hive Solutions 122 Dec 22, 2022