Source: https://docs.nosto.com/shopify/styling-options-dynamic-product-cards
# Styling Options - Dynamic Product Cards
## What Dynamic Product Cards are
Our `DynamicCard` Web Component offers a clean, flexible way to render Shopify product cards within Nosto-powered experiences, by fully deferring product markup to Shopify. This is especially useful for merchants who want their storefront's visual identity and product logic to remain unified, whilte still utilising Nosto's Personalization cap/**
* @param {number} n
* @param {number[]} present
* @param {number[]} future
* @param {number[][]} hierarchy
* @param {number} budget
* @return {number}
*/
var maxProfit = function(n, present, future, hierarchy, budget) {
const employeeCount = n;
const budgetLimit = budget;
const budgetStride = budgetLimit + 1;
// Sentinel value for unreachable DP states
const MIN_PROFIT = -1_000_000_000;
// Price arrays (1-indexed by employee ID for convenience)
const presentPrice = newsalesorderID = salesorder.get("salesorder_id");
organizationID = organization.get("organization_id");
invTot = 0.0;
resp = zoho.books.getRecordsByID("Salesorders",organizationID,salesorderID).get("salesorder");
for each invoice in resp.get("invoices")
{
invTot = invTot + invoice.toMap().get("total");
}
balance = salesorder.get("total").toDecimal() - invTot;
updateMap = Map();
updateMap.put("custom_fields",{{"customfield_id":"337859000000099002","value":balance}});
zoho.books.updateRsalesorderID = salesorder.get("salesorder_id");
organizationID = organization.get("organization_id");
updateMap = Map();
updateMap.put("custom_fields",{{"customfield_id":"337859000000099002","value":salesorder.get("total")}});
info zoho.books.updateRecord("Salesorders",organizationID,salesorderID,updateMap);void invokeCRMFunction(int custID)
{
organizationID = "20085137075";
contactResp = zoho.books.getRecordsByID("Contacts",organizationID,custID,"books").get("contact");
zcrmID = contactResp.toMap().get("zcrm_account_id");
paramMap = Map();
paramMap.put("crmID",zcrmID);
paramMap.put("booksCustID",custID);
// info zcrmID;
resp = invokeurl
[
url :"https://www.zohoapis.eu/crm/v2/functions/update_account_pending_amount/actions/execute?auth_type=apikey&zapikey=1003.05128f2623f44bb2f32c77a730void invokeCRMFunction(int custID)
{
organizationID = "20085137075";
contactResp = zoho.books.getRecordsByID("Contacts",organizationID,custID,"books").get("contact");
zcrmID = contactResp.toMap().get("zcrm_account_id");
paramMap = Map();
paramMap.put("crmID",zcrmID);
paramMap.put("booksCustID",custID);
// info zcrmID;
resp = invokeurl
[
url :"https://www.zohoapis.eu/crm/v2/functions/update_account_pending_amount/actions/execute?auth_type=apikey&zapikey=1003.05128f2623f44bb2f32c77a730/*
Function Name : Generate_Google_Maps_URL
InputArguments :
oppID ( Deal ID)
addresse
codePostal
ville
Description: This function generate a Google Maps link
Created On : 24/11/2022
Tested and deployed by: Léonard
*/
lienGoogle = "https://www.google.fr/maps/place/" + ifnull(addresse,"") + "," + ifnull(codePostal,"") + "," + ifnull(ville,"");
updateDeal = Map();
updateDeal.put("Lien_adresse_du_chantier",lienGoogle);
updateResp = zoho.crm.updateRecord("Deals",oppID,upd/*
Function Name: Generate Payment Link
Input Arguments:String total,String devisNo
*/
orgId = "20085137075";
resp = invokeurl
[
url :"https://books.zoho.eu/api/v3/estimates"
type :GET
parameters:{"search_text":devisNo}
connection:"booksapi"
];
if(resp.get("estimates").size() == 1)
{
estimateMap = resp.get("estimates").get(0).toMap();
estimateID = estimateMap.get("estimate_id");
booksCustID = estimateMap.get("customer_id");
paymentAmount = total.toDecimal();
/*paymentA/*
Function Name :Deal Name Standardizer
Input Arguments :int dealID,String oppNo,String accountName,String codePostal,String ville,String address,String firstName,String lastName
*/
if(accountName != null && accountName != "")
{
dealName = oppNo + "-" + accountName + "-" + ifnull(codePostal,"") + "-" + ifnull(ville,"") + "-" + ifnull(address,"");
}
else if(lastName != null && lastName != "")
{
dealName = oppNo + "-" + firstName + " " + lastName + "-" + ifnull(codePostal,"") + "-" + orgID = "20085137075";
paymentMap = Map();
paymentMap.put("customer_id",337859000000049093);
paymentMap.put("payment_amount",1000.00);
paymentMap.put("description","Test");
paymentMap.put("expiry_time","2023-01-01");
dataList = List();
dataList.addAll(paymentMap.toList());
paymentResp = invokeurl
[
url :"https://books.zoho.eu/api/v3/paymentlinks?organization_id=" + orgID
type :POST
parameters:dataList + ""
connection:"booksapi"
];
info paymentResp.get("payment_link").get("url"/*
Function Name : Create_form_records
InputArguments :
formID ( Formulaire ID)
Description: This function create records based on form received and best logical to don't create duplicates
Created On : 29/11/2022
Tested and deployed by: Léonard
*/
dealMap = Map();
idf = {"75","77","78","91","92","93","94","95"};
formRecord = zoho.crm.getRecordById("Formulaires",formID,Map(),"crmapi");
dealMap.put("Deal_Name","Demande formulaire");
dealMap.put("Type_de_besoin",formRecord.get("/*
Function Name : Change_pipeline
InputArguments :
oppID ( Deal ID)
Description: This function change Pipeline and stage to "Demande de prix"
Created On : 06/12/2022
Tested and deployed by: Léonard
*/
opportunite = zoho.crm.getRecordById("Deals",oppID,Map(),"crmapi");
if(opportunite.get("Stage") == "Potentiel")
{
dealMap = Map();
dealMap.put("id",oppID);
dealMap.put("Pipeline","Demande de prix log");
dealMap.put("Stage","Demande de prix");
// MAJ de l'opportunité par{{ 'tabs-component.css' | asset_url | stylesheet_tag }}
{{ 'component-accordion.css' | asset_url | stylesheet_tag }}
{{ 'main-faq.css' | asset_url | stylesheet_tag }}
{%- style -%}
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
}
.section-{{ section.id }}-padding {
padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
}
@media screen and (min-width: 750px) {
.section-{{ s# Python Packaging Fundamentals: Complete Course
## Table of Contents
1. Core Concepts
2. Package Structure
3. Virtual Environments
4. Entry Points and CLI Tools
5. Dependencies Management
6. Distribution and Publishing
7. Best Practices
---
## 1. Core Concepts
### What is a Python Package?
A **package** is a directory containing Python modules and a special `__init__.py` file. This file (even if empty) tells Python "this directory is a package that can be imported."
**Example:**
```
mypac# git cherrypick
git cherry-pick <commit-id>-----
# Comprendre le Système de Build Python avec UV
Ce document synthétise le rôle du fichier `pyproject.toml` dans la construction d'un paquet, et la distinction entre les moteurs de build (backends) utilisés par `uv`.
## 1\. Le Rôle du `[build-system]`
Dans le fichier `pyproject.toml`, la section `[build-system]` est le cœur de la machinerie (standard PEP 517). Elle répond à la question : **"Quel outil doit transformer ce code source en paquet installable (Wheel) ?"**
```toml
[build-sys