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)
Sierra is a lightweight Python framework for building and integrating web applications

A lightweight Python framework for building and Integrating Web Applications. Sierra is a Python3 library for building and integrating web applications with HTML and CSS using simple enough syntax. You can develop your web applications with Python, taking advantage of its functionalities and integrating them to the fullest.

null 83 Sep 23, 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 6, 2023
web.py is a web framework for python that is as simple as it is powerful.

web.py is a web framework for Python that is as simple as it is powerful. Visit http://webpy.org/ for more information. The latest stable release 0.62

null 5.8k Dec 30, 2022
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
Asita is a web application framework for python based on express-js framework.

Asita is a web application framework for python. It is designed to be easy to use and be more easy for javascript users to use python frameworks because it is based on express-js framework.

Mattéo 4 Nov 16, 2021
A high-level framework for building GitHub applications in Python.

A high-level framework for building GitHub applications in Python. Core Features Async Proper ratelimit handling Handles interactions for you (

Vish M 3 Apr 12, 2022
APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects

APIFlask APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects. It's easy to use, highly customizable, ORM/O

Grey Li 705 Jan 4, 2023
The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Slack channel questions: http://slack.masoniteproject.com

NOTE: Masonite 2.3 is no longer compatible with the masonite-cli tool. Please uninstall that by running pip uninstall masonite-cli. If you do not unin

Masonite 1.9k Jan 4, 2023
Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source

Bionic is fast. It's powered core python without any extra dependencies. Bionic offers stateful hot reload, allowing you to make changes to your code and see the results instantly without restarting your app or losing its state.

 ⚓ 0 Mar 5, 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 8, 2023
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

Tornado Web Server Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking ne

null 20.9k Jan 1, 2023
Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints.

Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints. check parameters and generate API documents automatically. Flask Sugar是一个基于flask,pyddantic,类型注解的API框架, 可以检查参数并自动生成API文档

null 162 Dec 26, 2022
Fast⚡, simple and light💡weight ASGI micro🔬 web🌏-framework for Python🐍.

NanoASGI Asynchronous Python Web Framework NanoASGI is a fast ⚡ , simple and light ?? weight ASGI micro ?? web ?? -framework for Python ?? . It is dis

Kavindu Santhusa 8 Jun 16, 2022
Dazzler is a Python async UI/Web framework built with aiohttp and react.

Dazzler is a Python async UI/Web framework built with aiohttp and react. Create dazzling fast pages with a layout of Python components and bindings to update from the backend.

Philippe Duval 17 Oct 18, 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 Jan 8, 2023
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
Pyramid - A Python web framework

Pyramid Pyramid is a small, fast, down-to-earth, open source Python web framework. It makes real-world web application development and deployment more

Pylons Project 3.7k Dec 30, 2022
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
Chisel is a light-weight Python WSGI application framework built for creating well-documented, schema-validated JSON web APIs

chisel Chisel is a light-weight Python WSGI application framework built for creating well-documented, schema-validated JSON web APIs. Here are its fea

Craig Hobbs 2 Dec 2, 2021